Node.js crypto提供网页包编译错误
我正在使用Node.js、react、Thread和webpack开发一个应用程序,我对这些技术不是很有经验 我需要使用加密,并尝试使用内置加密模块。问题是,即使使用简单的命令:Node.js crypto提供网页包编译错误,node.js,webpack,cryptography,Node.js,Webpack,Cryptography,我正在使用Node.js、react、Thread和webpack开发一个应用程序,我对这些技术不是很有经验 我需要使用加密,并尝试使用内置加密模块。问题是,即使使用简单的命令:crypto=require('crypto')在我的js文件中,网页包编译失败,并显示以下消息: @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/index.js ERROR in ./nod
crypto=require('crypto')
在我的js文件中,网页包编译失败,并显示以下消息:
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/index.js
ERROR in ./node_modules/parse-asn1/aesid.json
Module build failed: SyntaxError: Unexpected token, expected ; (1:25)
> 1 | {"2.16.840.1.101.3.4.1.1": "aes-128-ecb",
| ^
2 | "2.16.840.1.101.3.4.1.2": "aes-128-cbc",
3 | "2.16.840.1.101.3.4.1.3": "aes-128-ofb",
4 | "2.16.840.1.101.3.4.1.4": "aes-128-cfb",
我曾尝试使用其他加密库,如node simple encryptor和sjcl,但我总是遇到相同的错误
我猜这一定是一个webpack(版本3.5.2)问题,因为当我在测试javascript文件中使用相同的库并从nodejs交互环境运行它时,它运行正常
有人能帮我吗
我的webpack.config.js文件:
const path = require('path');
module.exports = {
entry: path.resolve(__dirname, 'src', 'index.js'),
output: {
path: path.resolve(__dirname, 'output'),
filename: 'bundle.js',
publicPath: '/'
},
resolve: {
extensions: ['.js', '.jsx']
},
module: {
rules: [
{
test: /\.js/,
use: {
loader: 'babel-loader',
options: { presets: ['react', 'es2015'] }
}
},
{
test: /\.scss/,
use: ['style-loader', 'css-loader', 'sass-loader']
}
]
},
devServer: {
contentBase: './src',
publicPath: '/output',
historyApiFallback: true,
},
devtool: 'source-map' //Maps source files with bundle.js for debugging in the browser
};
我认为问题在于babel/webpack将JSON文件视为js文件 尝试使用此选项是第一个module.rules测试键
test://\.(js)$/,
而不是test://\.js/,
或者只是/\.js$/
(或者如果他们也使用jsx文件,可能是/\.jsx?$/
),就是这样,非常感谢!它与/\(js)$/,一起工作,