我正在尝试使用 Webpack ProvidePlugin 使模块全局可用,但是当我尝试编译和/或运行我的项目时遇到路径解析错误。以下是相关文件:
我的服务
/home/me/workspace/my-project/src/client/services/my-service.js
export default class {
constructor()
doSomething() { /* ... */ }
}
应用程序,它使用 MyService
/home/me/workspace/my-project/src/client/app.js
export default {
initialize() {
MyService.doSomething();
}
}
Webpack 配置
/home/me/workspace/my-project/webpack.config.js
new webpack.ProvidePlugin({
'MyService': [path.resolve(path.join(__dirname, 'src/client/services/my-service.js')), 'default']
})
构建项目时,Webpack 在my-project/dist/bundle.js
构建我的项目进展顺利,但启动它会产生以下错误:
找不到模块:错误:无法解析“/home/me/workspace/my-project/src”中的“/home/me/workspace/my-project/dist/src/client/services/my-service.js” /客户'
如果需要,随后会出现更多错误。
我希望我的 Webpack 配置MyService
在遇到模块时将绝对路径解析为 , 和 sub 在该绝对路径中。但奇怪的是,它似乎使用了相对于引用模块的文件目录的绝对路径。我很混乱。
任何帮助表示赞赏。