簡體   English   中英

編譯后 Babel 意外 Token 導出

[英]Babel Unexpected Token Export After Compile

我使用 ES6 語法創建了一個項目。

我正在使用 Babel 將 ES6 語法 JavaScript 文件編譯為 Node.js 可以運行的版本。

但是,當我嘗試使用node lib/index.js執行我認為由 babel 編譯的文件 (index.js) 時。 我收到以下錯誤: SyntaxError: Unexpected token export

我運行以下命令來編譯我的項目: ./node_modules/.bin/babel src -d lib src包含我用 ES6 編寫的所有文件。

它成功編譯了帶有消息的目錄: Successfully compiled 15 files with Babel.

所以,我不確定為什么我無法運行編譯后的文件。 這也是我第一次使用 babel,所以我可能錯過了一些東西。

我有以下文件,我認為它們對 babel 很重要:

.babelrc

{
    "presets": ["@babel/preset-env"]
}

package.json - 開發依賴

"devDependencies": {
    "@babel/cli": "^7.8.4",
    "@babel/core": "^7.8.6",
    "@babel/polyfill": "^7.8.3",
    "@babel/preset-env": "^7.8.6",
    "@babel/register": "^7.8.6",
    "babel-loader": "^8.0.6"
}

詳細的錯誤信息:

/Users/c/Projects/Project1/src/credentials.js:10
export default Credentials;
^^^^^^

SyntaxError: Unexpected token export
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/Users/c/Projects/Project1/lib/index.js:3:53)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)

它看起來像在 lib/index.js 中,它使用以下行引用 ES6 文件:

var _credentials = _interopRequireDefault(require("../src/credentials")); .

在本地環境中,您只需安裝這些軟件包即可。

npm install @babel/core @babel/node --save-dev

然后在你的 package.json 中。

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

和 .babelrc 一樣。 它應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM