我有一个用es6
编写的非常简单的代码import { scale } from 'd3-scale';
const a = scale.scalePow().domain([0, 20]).range([0, 1, 2, 30, 560, 1]);
console.log(a(1));
依赖性'd3-scale'可以通过
安装npm install d3-scale --save
我运行以下命令来执行脚本:
npx babel-node scale_words.js
我收到了这个错误:
/Users/antkong/scale_series.js:1
(function (exports, require, module, __filename, __dirname) { import { scale } from 'd3-scale';
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:588:28)
at loader (/Users/antkong/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/antkong/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Function.Module.runMain (module.js:665:10)
at Object.<anonymous> (/Users/antkong/node_modules/babel-cli/lib/_babel-node.js:154:22)
我根本不期待这个错误。 import语句看起来很正常。
这是package.json
{
"name": "test",
"description": "Test",
"version": "0.1.0",
"dependencies": {
"d3-scale": "^1.0.7"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-stage-0": "^6.24.1",
"jsdom": "^11.3.0",
"jsdom-global": "^3.0.2"
}
}
我正在使用
node
v8.7.0
和
npm
5.5.1
我尝试重新运行npm install
,但它无法解决问题。在同一文件夹中,我有另一个带有这些import语句的脚本
import 'jsdom-global/register';
import 'canvas';
import { EventEmitter } from 'events';
它可以在npx babel-node
正常
如果我使用替代语法,它可以毫无问题地运行
var d3Scale = require("d3-scale")
var a = d3Scale.scalePow().domain([0, 20]).range([0, 1, 2, 30, 560, 1]);
;
console.log(a(1))
答案 0 :(得分:0)
同一文件夹中的only
中有.babelrc
个条目。它排除scale_words.js
作为es6文件执行。