1

像 React 或 Antd 这样的外部模块可以在 webpack 4 中没有 Babel 的情况下被摇动(摇树)吗?

示例 React 结构:node_modules->react 文件夹包括 /cjs 和 /umd 目录。

设置:
项目: https://github.com/webpack/webpack/tree/master/examples/harmony-unused
配置 https://webpack.js.org/guides/tree-shaking/
Typescript-Loader(可选)https: //github.com/TypeStrong/ts-loader

src 文件会被摇动,都包括像antd这样的node_modules或者react not。

问候里奇

4

1 回答 1

0

您可以从所有包中删除 react 和 reactdom 或任何其他使用外部组件的包,并使用页面上的脚本标签加载一次。

const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
externals: {
react: 'React',
'react-dom': 'ReactDOM'
},
entry:{},//entry files
output: {} // output path and files
plugins: [
new CopyWebpackPlugin([
{
from: path.join('src/Commons/Polyfills/Symbol.js'),
to: 'manifest.js'
},
{
from : path.join('node_modules/react/umd/react.production.min.js'),
to : 'react.js'
},
{
from : path.join('node_modules/react-dom/umd/react-dom.production.min.js'),
to : 'react-dom.js'
}
]),
]
};
于 2019-01-08T09:51:12.377 回答