繁体   English   中英

SyntaxError:v6上意外的令牌导入

[英]SyntaxError: Unexpected token import on v6

我收到SyntaxError:即使我的节点是v6,也无法正常导入令牌。 我想念什么? 我如何从'can / construct /'导入import Construct; 为我工作而不是要求?

import Construct from 'can/construct/';  // Doesnt work
var Construct = require('can-construct'); // Works for me


var Animal = Construct.extend({
    sayHi: function(){
        console.log("hi")
    }
});

var animal = new Animal()
animal.sayHi();

我知道我需要在ES6中使用import语句。 但是我已经有了。

/usr/local/bin/node --version
v6.10.1

不确定package.json是否重要:

{
  "name": "canjstest",
  "version": "1.0.0",
  "description": "",
  "main": "canjs.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "Test",
  "dependencies": {
    "canjs": "^2.2.0"
  }
}

我想念什么?

Node完全不支持ES6模块。 有一些很棒的文章( )介绍了为什么很难决定如何实现它。

我建议通过babel来转译您的代码。

快速的npm脚本为:

"build:js": "babel src --out-dir dist --presets=es2015 --plugins=transform-runtime,transform-es2015-modules-commonjs",

当您需要以下npm模块时:

npm i babel-cli babel-plugin-transform-runtime babel-preset-es2015 --save-dev

希望能有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM