Webpack:如何在没有模块的情况下导出JS文件

时间:2017-04-07 19:40:38

标签: webpack

我有一个看起来像这样的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但不使用模块?

1 个答案:

答案 0 :(得分:0)

我设法在不使用DefinePlugin的情况下执行此操作。相反,我使用file-loaderstring-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 || '')
      }
    },
  ]