Bundle React构建结果到单个html文件中

时间:2018-04-02 10:43:02

标签: reactjs webpack

我正在使用React和Webpack创建包含测试日志的报告页面。我打算在线下分发和存储它们,我更愿意将这些报告分别放在一个html文件中。所以我基本上希望这个html文件存储内联js代码。我可以在每次发布后手动复制它,但有没有任何工具可以在webpack中为我做这个?提前谢谢!

1 个答案:

答案 0 :(得分:2)

也许这对您有用,使用“html-webpack-plugin”,您可以为index.js包生成带有脚本标记的HTML文件。您可以查看documnetation here

代码将是这样的:

package com.statusionew.statusio.fragments;

import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button;

import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.statusionew.statusio.ForgetchangePasswordActivity; import com.statusionew.statusio.LoginActivity; import com.statusionew.statusio.R; import com.statusionew.statusio.MainActivity;


import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick;


public class ProfileFragment extends BaseFragment implements View.OnClickListener{

    FirebaseAuth auth;
    FirebaseUser user;
    ProgressDialog PD;

    @BindView(R.id.sign_out_button) Button btnSignOut;

    @BindView(R.id.change_password_button) Button btnChangePass;

    @BindView(R.id.change_email_button) Button  btnChangeEmail;

    @BindView(R.id.delete_user_button) Button btnDeleteUser;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment

        View view = inflater.inflate(R.layout.activity_setting, container, false);

        ButterKnife.bind(getActivity(), view);

        ((MainActivity) getActivity()).updateToolbarTitle("Profile");


        return view;

    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        auth = FirebaseAuth.getInstance();
        user = auth.getCurrentUser();
        PD = new ProgressDialog(getActivity());
        PD.setMessage("Loading...");
        PD.setCancelable(true);
        PD.setCanceledOnTouchOutside(false);

        btnSignOut.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.sign_out_button)
            public void onClick(View view) {
                auth.signOut();

                FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
                    @Override
                    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                        FirebaseUser user = firebaseAuth.getCurrentUser();
                        if (user == null) {
                            Intent intent = new Intent(getActivity(), LoginActivity.class);
                            startActivity(intent);
                        }

                    }



                };
            }

        });

        btnChangePass.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.change_password_button)
            public void onClick(View view) {
                startActivity(new Intent(getActivity().getApplicationContext(), ForgetchangePasswordActivity.class).putExtra("Mode", 1));
            }
        });

        btnChangeEmail.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.change_email_button)
            public void onClick(View view) {
                startActivity(new Intent(getActivity().getApplicationContext(), ForgetchangePasswordActivity.class).putExtra("Mode", 2));
            }
        });

        btnDeleteUser.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.delete_user_button)
            public void onClick(View view) {
                startActivity(new Intent(getActivity().getApplicationContext(), ForgetchangePasswordActivity.class).putExtra("Mode", 3));
            }
        });

    }

    @Override
    public void onClick(View v) {
        if (auth.getCurrentUser() == null) {
            startActivity(new Intent(getActivity(), LoginActivity.class));
            getActivity().finish();
        }
        super.onResume();
    } }