【问题标题】:Webpack not bundling .json file in node_modules properlyWebpack 未在 node_modules 中正确捆绑 .json 文件
【发布时间】:2016-08-25 00:18:31
【问题描述】:

我目前正在构建一个电子应用程序,以部署在带有反应前端的树莓派 pi3 上。它使用 webpack 来捆绑一切。我也在尝试使用 node-raspicam 包与相机模块进行交互。我已经成功地能够在这个应用程序之外使用它自己的 node-raspbicam 包。但是当我尝试在此应用程序中导入它时,我收到以下错误 Module not found: Error: Cannot resolve 'file' or 'directory' ../options in /usr/src/app/node_modules/raspicam/lib @ ./~/raspicam/lib/raspicam.js 7:17-38 8:12-33

在 raspicam.js 中,它尝试执行 parameters = require("../options").parameters,这是它失败的地方。 在 node_modules options.json 中的 raspicam 树中,存在一个从调用它的位置开始的目录。

我的想法是 webpack 没有正确打包这个 json 文件,因此找不到它。

我的 webpack 加载器:

module: {
    loaders: [{
      test: /\.jsx?$/,
      loaders: ['babel-loader'],
      exclude: /node_modules/
    },
    {
      test: /\.(jpg|png)$/,
      loader: 'file?name=[path][name].[hash].[ext]',
      include: path.images
    },
     {
      test: /\.json$/,
      loader: 'json-loader'
    }]
  },
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    libraryTarget: 'commonjs2'
  },
  resolve: {
    extensions: ['', '.js', '.jsx'],
    packageMains: ['webpack', 'browser', 'web', 'browserify', ['jam', 'main'], 'main']
  },
  plugins: [

  ],
  externals: [
    // put your node 3rd party libraries which can't be built with webpack here
    // (mysql, mongodb, and so on..)
  ]

我对 webpack 还是很陌生。为了使 raspicam node_module 中的 options.json 文件正确捆绑,我遗漏了什么?

【问题讨论】:

    标签: node.js reactjs webpack electron raspberry-pi3


    【解决方案1】:

    尝试将.json 添加到配置文件中resolve 对象中的extensions。它可能会起作用。

    【讨论】:

      猜你喜欢
      • 2020-02-02
      • 2021-01-07
      • 2019-05-23
      • 1970-01-01
      • 2023-03-25
      • 2017-03-17
      • 2017-02-27
      • 1970-01-01
      相关资源
      最近更新 更多