【问题标题】:Node backpack exclude file from bundling节点背包从捆绑中排除文件
【发布时间】:2020-04-16 14:43:53
【问题描述】:

我有这样最简单的背包配置:

module.exports = {
    webpack: (config, options, webpack) => {
      config.entry.main = [
        './app.js'
      ]
      return config;
    }
}

但在我的应用程序中,我有

const myConfig = require('./config/someConfiguration.json');

不应捆绑此文件./config/someConfiguration.json,以便对其进行修改/配置。 我试着这样做:

module.exports = {
    webpack: (config, options, webpack) => {
      config.entry.main = [
        './app.js'
      ];
      config.externals = [
        './config/someConfiguration.json'
      ];
      return config;
    }
}

但后来我遇到了 2 个问题。一个小问题是,现在我必须包含 '../config/someConfiguration.json' 这样的文件,因为 ./build/main.js 捆绑脚本需要它。另一个问题是 MySQL 模块开始突然抛出异常:

    this.handshake = Packets.Handshake.fromPacket(helloPacket);
                                       ^
TypeError: Cannot read property 'fromPacket' of undefined...

我认为这意味着我没有将文件排除在应有的捆绑之外。解决这个问题的正确方法是什么?

【问题讨论】:

    标签: node.js webpack


    【解决方案1】:

    外部仅用于模块/库,请勿将它们用于单个文件。
    像这样使用加载器:

    config.module.loaders = [
        {
             test: /\.json$/,
             loader: 'json-loader'
        }
    ];
    

    因此,您必须安装 json-loader 软件包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 2019-11-03
      • 2021-12-30
      • 2017-09-11
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多