我目前正在构建一个电子应用程序,以在带有反应前端的树莓派上进行部署。它使用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
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文件被正确捆绑?
答案 0 :(得分:1)
尝试将.json
添加到配置文件中extensions
对象中的resolve
。它可能会奏效。