我正在尝试在我的包含node-red的项目中实现webpack。但是,我一直收到以下警告。请建议如何解决此错误-
WARNING in ./node_modules/node-red/red/runtime/storage/localfilesystem/projects/git/node-red-ask-pass.sh 1:26
Module parse failed: Unexpected token (1:26)
You may need an appropriate loader to handle this file type.
> "$NODE_RED_GIT_NODE_PATH" "$NODE_RED_GIT_ASKPASS_PATH" "$NODE_RED_GIT_SOCK_PATH" $@
|
@ ./node_modules/node-red/red/runtime/storage sync ^\.\/.*$ ./localfilesystem/projects/git/node-red-ask-pass.sh
@ ./node_modules/node-red/red/runtime/storage/index.js
@ ./node_modules/node-red/red/runtime/index.js
@ ./app.js我的webpack.config.js是-
const path = require('path');
var nodeExternals = require('webpack-node-externals');
module.exports = {
target: 'node',
externals: [nodeExternals()],
entry: './app.js',
output: {
path: path.resolve(__dirname, './output'),
filename: 'bundle.js'
},
resolve: {
extensions: ['.js','.json', '.sh'],
modules: [
'node_modules'
],
},
module: {
rules: [
{
test:/\.css$/,
use:['style-loader','css-loader']
},
{
test: /\.coffee$/,
use: [ 'coffee-loader' ]
}
]
}
};发布于 2019-04-12 05:05:26
对Webpack来说,每个文件都是一个.js。为了处理其他扩展,如.css或.sh,您应该使用加载器,就像您在css-loader中所做的那样,它会将CSS规则转换为JS。
您面临的问题是您有一个导入链(./app.js -> .../index.js -> .../index.js -> .../node-red-ask-pass.sh),所以在某个时刻,Webpack将导入一个.sh文件,但是会抛出一个错误,因为shell代码显然是无效的JavaScript。这就是为什么你会看到你的错误。
顺便说一下,我不能重现你面临的问题:
npm init -y
npm i node-red
# ./node_modules/node-red/red is not a directory所以这很可能是一个node-red漏洞。将包更新为最新版本。
https://stackoverflow.com/questions/55631091
复制相似问题