我正在尝试用装饰器构建JS反应项目.我的.babelrc看起来像这样:
{
"presets": [
"@babel/preset-env",
"@babel/preset-react",
],
"plugins": [
"@babel/plugin-transform-runtime",
"@babel/plugin-transform-object-assign",
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
["@babel/plugin-proposal-class-properties", { "loose": true }]
]
}
Run Code Online (Sandbox Code Playgroud)
添加@ babel/plugin-proposal-decorators问题再次出现.
我使用babel 7,webpack 4并做出反应16.5
webpack.config.js:
const path = require("path");
const webpack = require("webpack");
const componentName = "reports-desktop";
const publicFolderRelativePath = "../../../../../../public/js";
const ignorePlugin = new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/);
module.exports = {
entry: './reports-desktop.js'
,
output: {
path: path.resolve(__dirname, publicFolderRelativePath),
filename: `${componentName}.js`
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader" …Run Code Online (Sandbox Code Playgroud) 我在Safari版本<= 9时遇到问题。Babel似乎没有用var替换const。
我在控制台中收到此错误:
意外的关键字“ const”。在严格模式下不支持const声明。
我尝试使用@ babel / preset-stage-0,但babel删除了它。
这是我的应用程序配置:
.babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-transform-object-assign"
]
}
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
const path = require("path");
const webpack = require("webpack");
const componentName = "contact-captain";
const publicFolderRelativePath = "../../../../public/js";
const ignorePlugin = new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/);
module.exports = {
// devtool: "source-map",
output: {
path: path.resolve(__dirname, publicFolderRelativePath),
filename: `${componentName}.js`
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
]
},
plugins: [
ignorePlugin
] …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了“@babel/preset-plugin-transform-object-assign”,但似乎 webpack 无法识别它。尝试构建我的项目时出现此错误:
错误:找不到模块“@babel/preset-plugin-transform-object-assign”
这些是我的 .babelrc 和 package.json:
.babelrc
{
"presets": ["@babel/preset-env", "@babel/preset-react", "@babel/plugin-transform-object-assign"]
}
Run Code Online (Sandbox Code Playgroud)
包.json
{
"name": "temp",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"watch": "webpack -w --mode development --progress --color --display-error-details",
"build": "webpack --mode production"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-transform-object-assign": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.2",
"react": "^16.4.2",
"react-dom": "^16.4.2",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"webpack": "^4.17.1",
"webpack-cli": "^3.1.0"
}
}
Run Code Online (Sandbox Code Playgroud)