0

我正在尝试使用 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 在该绝对路径中。但奇怪的是,它似乎使用了对于引用模块的文件目录的绝对路径。我很混乱。

任何帮助表示赞赏。

4

0 回答 0