node Unexpected token import(node 目前默認不支持es6 的模塊 import解決方法有2)


node 目前默認不支持es6 的模塊 import解決方法有2

方法1 experimental-modules

升級node 8.5 使用 experimental-modules,參數。切要求所有文件名后綴都要修改為mjs 
node –experimental-modules index.mjs 
index.mjs

import {add} from './calculator.mjs'
console.log(add(1, 2)) 
 

calculator.mjs

export function add(a, b) {
    return a + b;
}

 

參考文檔 
https://nodejs.org/dist/latest-v8.x/docs/api/esm.html#esm_enabling

 
        

 

方法2 require(“babel-register”);

安裝babel-register

安裝 babel-preset-env 
npm install babel-preset-env –save

創建.babelrc文件

{
  "presets": [
    ["env", {
      "targets": {
        "node": "current"
      }
    }]
  ]
}

  

將入口文件進行封裝(入口文件不能包含import),需要新建一個新的入口文件require 原來入口

新入口文件

require("babel-register");
var OriIndex= require("./index.js");
OriIndex.doit();

 

參考文檔 

https://babeljs.io/docs/usage/babel-register/ 
http://babeljs.io/env

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM