2017-04-12 46 views
0

整個練習的目的是在瀏覽器中運行ES2015 javascript。我有一個測試的設置是這樣的:僅當寫入文件時,babel-node纔會導入錯誤

foo.js:

export class Foo {} 

main.js:

import {Foo} from './foo'; 
console.log('ready') 

最後我還有.babelrc文件:

{ 
    "presets": [ 
     "es2015", 
     "stage-0" 
    ] 
} 

這代碼運行良好

$> ./node_modules/.bin/babel-node main.js 
ready 

第一步(並請糾正我,如果我錯了)是從ES2015 transpile這ES5

$> ./node_modules/.bin/babel-node main.js -o main-es5.js 
/Users/dev/test/main.js:1 
(function (exports, require, module, __filename, __dirname) { import {Foo} from './foo'; 
                   ^^^^^^ 
SyntaxError: Unexpected token import 

只是爲了保持完整性,我的最後一步將是

$> ./node_modules/.bin/browserify main-es5.js bundle.js 

任何幫助爲什麼在這個問題上,將不勝感激

+1

如果你使用的是Browserify,你會希望https://github.com/babel/babelify – loganfsmyth

+0

thnx,babelify是我需要的,thnx! –

回答

2

babel-node只是一個交互式repl預編譯輸入源。

編譯器ES6併發出ES5,這樣做:

babel main.js > main-es5.js

順便說一句,你還需要export類中foo.js,使其在main.js可用。在你的例子中,Foo是未定義的。