我有一个看起来像这样的js文件:
self.MonacoEnvironment = {
baseUrl: CDN_HOST + '/javascripts'
};
importScripts('/javascripts/vs/base/worker/workerMain.js');
在我的webpack.config中,我定义了CDN_HOST:
new webpack.DefinePlugin({
'CDN_HOST': JSON.stringify(process.env.CDN_HOST || '')
}),
enter code here
我想导出此文件,但是CDN_HOST
被替换为此处的值,但我不希望将此文件包装在模块中(例如,“webpackjsonP”)
如果我使用file-loader
,那么它将使用模块定义复制文件,但不能替换CDN_HOST
。
如果我使用babel-loader
,那么它将替换CDN_HOST
,但会添加模块定义。
如何使用DefinePlugin
但不使用模块?
答案 0 :(得分:0)
我设法在不使用DefinePlugin
的情况下执行此操作。相反,我使用file-loader
与string-replace-loader
链接。为了我的目的,string-replace-loader
几乎相当于DefinePlugin
。
loaders: [
"file-loader?name=./filetoexport.js",
{
loader: "string-replace-loader",
query: {
search: 'CDN_HOST',
replace: JSON.stringify(process.env.CDN_HOST || '')
}
},
]