对不在node_modules中的文件使用html-webpack-externals-plugin

时间:2019-02-04 12:11:53

标签: webpack webpack-externals

有人知道是否有办法使该插件(https://github.com/mmiller42/html-webpack-externals-plugin)适用于我自己的文件,而这些文件不在node_modules中?

例如: 我在app / js / config /中有一些配置数据文件 我希望将这些文件从所有包中排除,复制到输出(dist)文件夹中,然后在运行时从那里读取,这正是该插件所做的,但适用于node_modules中的文件。

我设法让它复制测试文件并将脚本标记插入index.html,但是test.js文件的内容仍然捆绑在一起并从那里读取。这是我的实验性配置:

new HtmlWebpackExternalsPlugin({
  externals: [
    {
      module: 'test',
      entry: '../../js/config/test.js',
      global: 'test',
    },
  ],
})

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。当我使用插件 html-webpack-externals-plugin 时,它总是在 node_modules 文件夹中找到库。而且我知道它已从 this link 弃用。

幸运的是,它推荐了一个可以完美解决此问题的新库 html-webpack-tags-plugin。以下是我的关键配置。

plugins: [
    new CopyWebpackPlugin([
      { from: "./src/Config.js", to: "." },
    ]),
    new HtmlWebpackPlugin({
      template: path.join(__dirname, "src/index.html"),
    }),
    new HtmlWebpackTagsPlugin({
      tags: [{ path: "Config.js", type: "js" }],
      append: false,
    }),
  ],