Github的代码链接:https://github.com/bhatvikrant/IndecisionApp
我已经运行了npm i,然后完成了纱线运行dev-server,我已经使用过webpack。 我在MacOs机器上。 我还制作了.babelrc文件。
运行yarn之后,我遇到的错误是运行dev-server:
VIKRANTs-MacBook-Pro:IndecisionAPP VIKRANT$ yarn run dev-server
yarn run v1.19.1
$ webpack-dev-server
Project is running at http://localhost:8080/
webpack output is served from /
Content not from webpack is served from /Users/VIKRANT/Desktop/IndecisionAPP/public
Hash: 35d055107a6a0062196d
Version: webpack 3.1.0
Time: 1305ms
Asset Size Chunks Chunk Names
bundle.js 867 kB 0 [emitted] [big] main
[35] multi (webpack)-dev-server/client?http://localhost:8080 ./src/app.js 40 bytes {0} [built]
[36] (webpack)-dev-server/client?http://localhost:8080 5.59 kB {0} [built]
[37] ./node_modules/url/url.js 23.3 kB {0} [built]
[38] ./node_modules/node-libs-browser/node_modules/punycode/punycode.js 14.7 kB {0} [built]
[39] ./node_modules/url/util.js 314 bytes {0} [built]
[40] ./node_modules/querystring-es3/index.js 127 bytes {0} [built]
[43] ./node_modules/strip-ansi/index.js 161 bytes {0} [built]
[44] ./node_modules/ansi-regex/index.js 135 bytes {0} [built]
[45] (webpack)-dev-server/client/socket.js 856 bytes {0} [built]
[46] ./node_modules/sockjs-client/lib/entry.js 244 bytes {0} [built]
[77] (webpack)-dev-server/client/overlay.js 3.6 kB {0} [built]
[78] ./node_modules/ansi-html/index.js 4.26 kB {0} [built]
[79] ./node_modules/html-entities/index.js 231 bytes {0} [built]
[82] (webpack)/hot/emitter.js 77 bytes {0} [built]
[84] ./src/app.js 2.33 kB {0} [built] [failed] [1 error]
+ 70 hidden modules
ERROR in ./src/app.js
Module build failed: Error: Requires Babel "^7.0.0-0", but was loaded with "6.25.0". If you are sure you have a
compatible version of @babel/core, it is likely that something in your build process is loading the wrong vers
ion. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "b
abel-core" to see what is calling Babel. (While processing preset: "/Users/VIKRANT/Desktop/IndecisionAPP/node_m
odules/@babel/preset-env/lib/index.js")
at throwVersionError (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/@babel/helper-plugin-utils/lib/inde
x.js:65:11)
at Object.assertVersion (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/@babel/helper-plugin-utils/lib/i
ndex.js:13:11)
at /Users/VIKRANT/Desktop/IndecisionAPP/node_modules/@babel/preset-env/lib/index.js:177:7
at /Users/VIKRANT/Desktop/IndecisionAPP/node_modules/@babel/helper-plugin-utils/lib/index.js:19:12
at /Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/file/options/option-mana
ger.js:317:46
at Array.map (<anonymous>)
at OptionManager.resolvePresets (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)
at OptionManager.mergePresets (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)
at OptionManager.mergeOptions (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14)
at OptionManager.init (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
at File.initOptions (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/file/index.js:212:65)
at new File (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/file/index.js:135:24)
at Pipeline.transform (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
at transpile (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-loader/lib/index.js:49:20)
at Object.module.exports (/Users/VIKRANT/Desktop/IndecisionAPP/node_modules/babel-loader/lib/index.js:174:20)
@ multi (webpack)-dev-server/client?http://localhost:8080 ./src/app.js
webpack: Failed to compile.
请帮助我纠正此语法错误,我花了将近一天的时间来解决此问题。
答案 0 :(得分:0)
然后,从here:
我们需要通过以下方式将一些babel软件包添加到我们的项目中
npm install --save-dev @ babel / core @ babel / cli @ babel / preset-env @ babel / node。
这些分别处理了babel的常规工作,在命令行中使用babel,使用最新JS功能的功能以及在节点中使用babel。
或者,您可以就地修改“ package.json”文件(如下所示)并重新运行“ yarn”:
{
"name": "indecision-app",
"version": "1.0.0",
"main": "index.js",
"author": "Andrew Mead",
"license": "MIT",
"scripts": {
"serve": "live-server public/",
"build": "webpack",
"dev-server": "webpack-dev-server"
},
"dependencies": {
"live-server": "^1.2.0",
"node-sass": "4.5.3",
"normalize.css": "7.0.0",
"react": "15.6.1",
"react-dom": "15.6.1",
"react-modal": "2.2.2",
"sass-loader": "6.0.6",
"style-loader": "0.18.2",
"validator": "8.0.0",
"webpack": "3.1.0",
"webpack-dev-server": "2.5.1"
},
"devDependencies": {
"@babel/core": "^7.6.4",
"@babel/preset-env": "^7.6.3",
"@babel/preset-react": "^7.6.3",
"babel-loader": "^7.1.1",
"babel-plugin-transform-class-properties": "7.0.0", // upgrade this to 7.0.
"css-loader": "0.28.4"
}
}
答案 1 :(得分:0)
模块构建失败:错误:需要Babel“ ^ 7.0.0-0”,但已加载 与“ 6.25.0”。
此错误即将出现,因为需要Babel 7及更高版本。您可以使用babel-upgrade软件包对其进行升级:https://www.npmjs.com/package/babel-upgrade
您可以在此处找到升级Babel的正确方法:How to upgrade to babel 7。
答案 2 :(得分:0)
我认为您不正确地完成了本课程的某些步骤,here是您可能最终应该得到的package.json。
我建议您尝试删除node_modules,yarn.lock和package-lock.json,然后将以下内容放入package.json
{
"name": "indecision-app",
"version": "1.0.0",
"main": "index.js",
"author": "Andrew Mead",
"license": "MIT",
"scripts": {
"serve": "live-server public/",
"build": "webpack",
"dev-server": "webpack-dev-server"
},
"dependencies": {
"babel-cli": "6.24.1",
"babel-core": "6.25.0",
"babel-loader": "7.1.1",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-preset-env": "1.5.2",
"babel-preset-react": "6.24.1",
"css-loader": "0.28.4",
"live-server": "^1.2.0",
"node-sass": "4.5.3",
"normalize.css": "7.0.0",
"react": "15.6.1",
"react-dom": "15.6.1",
"react-modal": "2.2.2",
"sass-loader": "6.0.6",
"style-loader": "0.18.2",
"validator": "8.0.0",
"webpack": "3.1.0",
"webpack-dev-server": "2.5.1"
}
}
然后运行npm install
或yarn install