首页 > 解决方案 > 如何从反应打字稿中构建单个入口点?

问题描述

我有一个带有单个组件的 react 项目,可以跨多个网站使用,并且将单独维护,因此它需要一个 js 文件作为入口点,因此可以轻松包含和更新它而无需任何更改所有这些网站。我想避免包含 3 个文件,我只想构建一个。

不幸的是,我无法将 webpack 配置为构建到单个 js 文件中——它会创建2.chunk.js,main.chunk.jsentrypoint.js. 有没有办法将 webpack 配置为只构建一个文件?我的配置如下所示:

module.exports = {
  entry: './src/index.tsx',
  output: {
    publicPath: '/',
    path: path.resolve(__dirname, 'dist/'),
    filename: 'entrypoint.js',
    chunkFilename: '[name].chunk.js', // when tried 'chunk.js' I've got error: "Conflict: Multiple chunks emit assets to the same filename chunk.js (chunks 0 and 2)"
  },
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: ['style-loader', 'css-loader', 'sass-loader'],
      },
    ],
  },
};

输出./dist

Entrypoints:
  main (865 KiB)
      entrypoint.js
      2.chunk.js
      main.chunk.js

标签: javascriptreactjswebpackwebpack-4

解决方案


推荐阅读