在我的react项目中看到一个巨大的部署包之后,我决定定义外部以减少webpack.config.js文件中的大小。
'react': 'React',
'react-dom': 'ReactDOM',
'react-router': 'ReactRouter', ...
现在捆绑包非常小,网站工作正常但是当我尝试运行我的测试(karma / jasmine)时,终端出现了一个奇怪的错误:
ReferenceError: Can't find variable: ReactRouter
这显然来自外部,但我并不习惯在webpack中定义这些内容。有谁知道这些引用是否也需要在其他地方定义? webpackConfig已被拉入karma配置。
答案 0 :(得分:0)
您是否仍在代码中使用require("react-router")
? webpack externals允许您require
左侧的内容,而webpack只会查看window[thing on the right]
以找到它 - 所以在这种情况下,require("react-router")
将返回window.ReactRouter
。< / p>