在开发中,我的电子应用程序的内容由webpack-dev-server通过localhost:8080提供。这会在JS控制台中触发一些嘈杂的警告。我想关闭它们,因为生产应用程序实际上不会从外部来源加载任何内容。
在main.js中,我可以这样做:
process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = true
那很好,但是我不喜欢将其硬编码到源代码中。我认为应该由开发人员构建过程提供此类信息。
我尝试使用webpack EnvironmentPlugin,但没有任何效果。
webpack.dev.config.js中的相关代码段
plugins: [
new HtmlWebpackPlugin(),
new MiniCssExtractPlugin(),
new webpack.EnvironmentPlugin({
'NODE_ENV': JSON.stringify('development'),
// disables electron warning about insecure content that only applies in dev scenario
'ELECTRON_DISABLE_SECURITY_WARNINGS': true
})
]
我最初尝试使用DefinePlugin,如下所示:
plugins: [
new HtmlWebpackPlugin(),
new MiniCssExtractPlugin(),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('development'),
// disables electron warning about insecure content that only applies in dev scenario
'process.env.ELECTRON_DISABLE_SECURITY_WARNINGS': true
})
]
在两种情况下,构建都能成功,但是设置无效,并且我在JS控制台中看到警告。有什么作用?
使用webpack 4和electronic 3。
答案 0 :(得分:-1)
您解决了吗?如果您仍然需要一些想法:是由于CSP- Content-Security-Policy 。了解更多:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
摆脱警告的一种方法是在html文件中设置元数据。在此样板的app.html中找到一个示例:https://github.com/wende60/Electron-Webpack4-React-Sass
关于wende60