2

I'm trying to run a simple node.js file which needs the @babel/preset-env preset. The moment I run the js file, I get a message saying

Requires Babel “7.0.0-0” but was loaded with “6.26.3”</p>

To replicate the issue, please try the following in a new folder: 1. Run the following commands

npm init
npm install @babel/register
npm install @babel/core@^7.2.2
npm install @babel/preset-env
  1. Create a .babelrc file with the following
{
"presets": ["@babel/preset-env"],
"plugins": []
}
  1. Create a sample emp.jsx with the following
import React from "react";
class CommentBox extends React.Component {}
  1. Create a parse.js file with the following
require('babel-register')({presets: ['env', 'react']});
let Emp = require('./emp.jsx');

Now run the parse.js file by running

node parse.js

You should see the error mentioned above. I have been trying to fix with for a long time now. Please help.

Many Thanks

4

2 回答 2

1

按照你的指示使用 @babel/register 代替这个 package.json 运行没有问题

tasted on
node : v8.11.2
yarn : 1.12.3

paese.json

require('@babel/register')({});
let Emp = require('./emp.jsx');
console.log(Emp)

包.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"
  }
}
于 2019-01-12T09:23:35.323 回答
0

发现了问题。包含对 @babel/preset-env 的引用的 .babelrc 文件。删除它,js文件编译得很好。

于 2019-01-14T04:04:45.033 回答