我正在尝试运行一个简单的节点.js文件,该文件需要@babel/preset-env预设。当我运行js文件的那一刻,我收到一条消息说
需要 Babel "7.0.0-0",但加载了 "6.26.3"
要重现此问题,请在新文件夹中尝试以下操作:1. 运行以下命令
npm init
npm install @babel/register
npm install @babel/core@^7.2.2
npm install @babel/preset-env
- 使用以下代码创建一个 .babelrc 文件
{ "presets": ["@babel/preset-env"], "plugins": [] }
- 使用以下方法创建示例 emp.jsx
import React from "react"; class CommentBox extends React.Component {}
- 使用以下内容创建解析.js文件
require('babel-register')({presets: ['env', 'react']}); let Emp = require('./emp.jsx');
现在通过运行来运行解析.js文件
node parse.js
您应该会看到上面提到的错误。我已经尝试修复了很长时间。请帮忙。
非常感谢
按照您的说明改用@babel/注册这个包.json运行没有问题
tasted on
node : v8.11.2
yarn : 1.12.3
paese.json
require('@babel/register')({});
let Emp = require('./emp.jsx');
console.log(Emp)
packge.json
{
"name": "sof",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.2.3",
"@babel/register": "^7.0.0"
},
"dependencies": {
"react": "^16.7.0"
}
}
发现问题。包含对 @babel/preset-env 引用的 .babelrc 文件。删除了它,js文件编译得很好。