Isa*_*ton 5 javascript webpack babeljs
我正在使用下面的 webpack 配置来构建我所有的 JS 文件:
const path = require('path');
const glob = require('glob');
module.exports = {
entry: Object.fromEntries(glob.sync(path.resolve(__dirname, 'src/js/profile/*.js')).map((v) => [
path.basename(v, '.js'), v,
])),
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist/js/profile'),
},
module: {
rules: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ["@babel/preset-env"],
plugins: [
[
"@babel/plugin-transform-runtime",
{
"useESModules": true
}
]
]
}
}
}
]
}
};
Run Code Online (Sandbox Code Playgroud)
如果我加载了适当的页面,我会收到以下错误:
Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'".
Run Code Online (Sandbox Code Playgroud)
当我点击所有 unsafe-eval 错误时,它们都指向相应文件:
}(e.exports);
try {
regeneratorRuntime = t
} catch (e) {
Function("r", "regeneratorRuntime = r")(t)
}
Run Code Online (Sandbox Code Playgroud)
错误在行 Function("r", "regeneratorRuntime = r")(t)
在遇到错误的 JS 文件中,我使用import, export,async await和arrow functions.
我做了一些研究,它说这是由于引入了 Babel 无法识别的新 JS 方法。但我使用的是最新的 Babel 和 Webpack:
"devDependencies": {
"@babel/cli": "^7.12.8",
"@babel/core": "^7.12.9",
"@babel/plugin-transform-runtime": "^7.12.1",
"@babel/preset-env": "^7.12.7",
"babel-loader": "^8.2.2",
"glob": "^7.1.6",
"grunt": "^1.3.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-cssmin": "^3.0.0",
"grunt-contrib-uglify": "^5.0.0",
"webpack": "^5.10.0",
"webpack-cli": "^4.2.0"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
326 次 |
| 最近记录: |