我正在努力建立一个 core 库,其中包括React,ReactDOM,Redux等,该库将包含在其他两个单独的项目中(使用单独的webpack配置文件)。
>我目前正在尝试利用webpack DLLPlugin来完成此操作,但是遇到各种错误。我已经广泛地搜索了没有任何运气的类似示例。有一次,我也尝试使用npm软件包,但似乎也陷入僵局,并认为DLLPlugin也许是正确的实现方式。
在核心项目webpack.config中:
new webpack.DllPlugin({
path: `${PATHS.build}/core-manifest.json`,
name: 'core'
}),
在 sub 项目webpack.config中:
new webpack.DllReferencePlugin({
context: path.join(__dirname),
manifest: require(`${PATHS.core}/dist/core-manifest.json`),
scope: 'core',
name: 'core',
我在libraryTarget
中尝试了output
的几个选项,但目前没有指定(默认为var
)
如何在我的“子”项目中正确引用这些依赖项之一?(即,在使用import React from 'react'
的组件中),并且还应使其不与子项目包捆绑在一起?我在配置中同时使用externals
和alias
进行了很多尝试,但是似乎无法正确理解语法/组合-甚至可以吗?有更好的选择吗?
检查后,我可以看到我包含在Global对象中的模块:
> `core: ƒ __webpack_require__(moduleId)`
> m: (16) [f, f, f, f ...etc]
作为示例,我可以在14:
看到React模块,而[[FunctionLocation]]:
是webpack://core/./node_modules/react/index.js
我尝试了很多不同的配置,但我无法确定我是否接近。对这个问题的任何见解或对相关参考文献的指导都是值得的。