生成 html
目前为止,我们实现了一个简单的 React 工程,可以将 tsx 代码文件通过 webpack 最终打包成一个 js 文件,但还没能将它们打包成一个 html 文件。
目标
引入 HtmlWebpackPlugin,将 tsx 代码文件打包到一个 html 文件。
安装 HtmlWebpackPlugin
根目录打开 Terminal,输入:
npm i html-webpack-plugin -D
html-webpack-plugin,作用是生成一个 html 文件,并将打包后的 js 文件引入进来。可以指定一个 html 文件给它,也可以不指定,它会自动生成一个。 在生成的 html 中,会将 webpack 打包后的 js 文件引入进来。
修改 webpack.config.js
引入 HtmlWebpackPlugin 包,并在 plugins 中添加 HtmlWebpackPlugin 实例:
scripts/webpack.config.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const resolve = (dir) => path.join(__dirname, '..', dir);
/**
* @return {import('webpack').Configuration}
*/
const createConfig = () => {
return {
mode: 'development',
entry: resolve('tsc_outputs/src/screen/membership/pages/index/index.js'),
output: {
path: resolve('dist'),
filename: 'index.js',
clean: true,
},
plugins: [new HtmlWebpackPlugin()],
};
};
module.exports = createConfig;
执行下试试
npm run dev
就可以看到在 dist 目录下生成了以下两个文件:
dist
├── index.html
└── index.js
本地起一个 web 服务就可以打开浏览器访问了:
npx http-server dist