2016-06-04 19 views
31

Tôi không hiểu điều gì sai. Tôi chekced diễn đàn khác nói về transpilation và babel. Tôi phải làm gì đây? cảm ơn. Node -v: v5.5.0Lỗi nút: Cú phápError: Nhập mã thông báo không mong muốn

mã của tôi:

import recast from 'recastai' 

và lỗi

(function (exports, require, module, __filename, __dirname) { import recast from 'module1' 
                   ^^^^^^ 

SyntaxError: Unexpected token import 
    at exports.runInThisContext (vm.js:53:16) 
    at Module._compile (module.js:387:25) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 
    at Function.Module._load (module.js:314:12) 
    at Function.Module.runMain (module.js:447:10) 
    at startup (node.js:139:18) 
    at node.js:999:3 
+0

phiên bản của nút là gì? Bạn có thể cung cấp mã của bạn không? – rootatdarkstar

+0

Tôi đã chỉnh sửa chủ đề – Stefdelec

+0

Bản sao có thể có của [Không thể chạy ứng dụng đơn giản với Koa v2] (http://stackoverflow.com/questions/37529156/cant-run-simple-app-with-koa-v2) – gevorg

Trả lời

28

ES6 nhập khẩu là một tính năng giới thiệu gần đây và phiên bản ổn định hiện tại của Node không hỗ trợ họ chưa. Trình theo dõi vấn đề Node.js có một số open issue cho điều này - nhưng cho đến khi V8 và Node thêm hỗ trợ cho tính năng này, bạn sẽ cần phải sử dụng trình phát (trình phổ biến nhất là babel) để có thể sử dụng nhập.

Để nhanh chóng thử transpilation, babel cung cấp REPL dựa trên web. This one chứng minh mã của bạn đang được chuyển đổi.

babel project homepage trỏ đến các tài nguyên có liên quan để bắt đầu với Babel và tích hợp nó với quy trình phát triển của bạn.

Để thiết lập đơn giản nhất, hãy truy cập setup page này và chọn CLI trong phần cài đặt Babel.

cơ bản này bao gồm ba bước đơn giản:

  1. Install babel-cli: npm install --save-dev babel-cli babel-preset-es2015
  2. Tạo .babelrc tập tin cấu hình: echo '{ "presets": ["es2015"] }' > .babelrc
  3. Sử dụng các mô-đun cài đặt để transpile mã nguồn của bạn: ./node_modules/.bin/babel src -d lib

Trang cài đặt nói trên cũng minh họa cách thêm tập lệnh npm để đơn giản hóa tập lệnh cuối cùng bậc thang. Ngoài ra, bạn có thể tích hợp babel với trình soạn thảo hoặc chuỗi xây dựng để tệp của bạn được tự động biên soạn khi thay đổi.

+0

Ngoài ra, cần phải: npm cài đặt babel-preset-es2015 – jbsmoove

1

Sử dụng babel cài đặt trước mới nhất

  • Cài đặt cài đặt trước mới nhất yarn add --dev babel-preset-latest

  • Tạo .babelrc và thêm dòng sau { "presets": ["latest"] }

  • Chạy kịch bản của bạn npx babel-node yourscript.js

  • Hoặc trong tập tin package.json bạn thêm

"scripts": { "start": "babel-node index.js" }

0

Trong trường hợp bạn không muốn đối phó với babel. Cái này làm việc cho tôi.

const calc = require('./my_calc'); 
let {add, multiply} = calc; 
0

Nếu bạn đang sử dụng PM2, sau đó làm theo các bước sau:

$ pm2 start app.js --interpreter babel-node 
Các vấn đề liên quan