【发布时间】:2018-05-21 22:23:56
【问题描述】:
我对 Webpack 很陌生,但不知道为什么我的 ProvidePlugin 调用没有按预期工作。
我有以下文件:
App.js
var App = function() {
getSomething: function(size) {}
}();
module.exports = App;
我希望这个 'App' 变量可以全局访问,因为其他文件像这样使用它:
布局.js
var Layout = function () {
App.getSomething('md');
}();
webpack.config.js
在 webpack.config.js 我有以下行:
new webpack.ProvidePlugin({ App: 'app' })
这是我的条目:
entry: {
'app': './angularApp/metronicapp.ts',
}
metronicapp.ts
import './metronic/global/scripts/app';
app 是上面显示的我的app.js。
我在浏览器中收到以下错误:
Cannot find module "app"
当我在控制台中编译 webpack 时:
Module not found: Error: Can't resolve 'app'
我不知道我错过了什么。我的 app.js 格式不正确吗?为什么App 仍然无法在全球范围内使用?
【问题讨论】:
-
在您的 metronicapp.ts 中,您没有导入应用程序。在 App JS 中,您可以尝试更改 module.export 以导出默认 App。或者在 metronicapp.ts 中将导入更改为“import App from './metronic/global/scripts/app'” 我对此也很陌生,但这就是我会尝试的。
标签: javascript typescript webpack