Webpack没有正确地在node_modules中捆绑.json文件

时间:2016-04-29 18:19:25

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

我目前正在构建一个电子应用程序,以在带有反应前端的树莓派上进行部署。它使用webpack捆绑所有东西。我也尝试使用node-raspicam包与相机模块进行交互。我已经成功地在这个app之外使用了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中的raspicam树中,options.json存在一个目录,从中调用它。

我的想法是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文件被正确捆绑?

1 个答案:

答案 0 :(得分:1)

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