我有一个项目,看起来像这样:
|-- client
| |-- index.js
| |-- ...
| |-- package.json
| └-- webpack.config.json
|-- lib
| └-- myLocalLibrary
| |-- index.js
| └-- package.json
└-- server
└-- ...通过使用npm导入库,可以在client和server中使用来自lib的代码
因此client/package.json和server/package.json包含:
{
dependencies: {
...
myLocalLibrary: 'file: ../lib/myLocalLibrary',
...
}
}问题是:当我在客户端运行webpack时,它无法解析myLocalLibrary中使用的导入,因为:
a) NPM在client/node_modules而不是lib/myLocalLibrary/node_modules中为本地库安装子依赖项
b)使用client/node_modules无法访问的源文件夹,为myLocalLibrary解析代码
在这种情况下我应该怎么做?
发布于 2018-07-22 18:45:34
如果您正在使用webpack作为构建工具,我认为您必须使用resolve.alias webpack配置。如果我们使用webpack将所有文件连接到一个entry文件,那么我们在生产环境中就不需要node_modules了。在您的webpack配置中:
module.exports = {
//...
resolve: {
alias: {
myLocalLibrary: path.resolve(__dirname, 'lib/myLocalLibrary'), // where is the webpack.config.json?
}
}
};https://stackoverflow.com/questions/51464203
复制相似问题