日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解决问题SyntaxError: Unexpected token import

發(fā)布時間:2023/12/1 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决问题SyntaxError: Unexpected token import 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ES6語法的模塊導入導出(import/export)功能,我們在使用它的時候,可能會報錯:

SyntaxError: Unexpected token import 語法錯誤:此處不應該出現(xiàn)import

我遇到的情況是import語法不識別導致的。在這里,有兩種方法可以解決。

1: 使用node的v8及之后的版本

因為,node需要v8.x之后的版本才支持ECMAScript Modules 和 imort 語法
目前,node穩(wěn)定版本是v8.11.2
可以使用nvm來安裝管理查看多個node版本。

可以使用--experimental-modules實驗模塊標志來啟用加載ECMAScript Modules的特性。
而且作為ES模塊加載的文件名,必須以.mjs后綴結尾

node --experimental-modules my-app.mjs

此種方法,在輸出的時候會提示:

(node:16208) ExperimentalWarning: The ESM module loader is experimental.

表示是個實驗模塊,到時候可能會修改。
例子:https://github.com/weiqinl/demo/tree/master/01-es6-import

2: 使用babel,通用方法

瀏覽器直接支持import程度比較低,所以需要babel來將import轉換為es5語法。

安裝

通過 npm:

npm install --save-dev babel-preset-env babel-cli

或者通過 yarn:

yarn add babel-preset-env --dev

使用

沒有選項的默認行為將運行所有transform(與 babel-preset-latest 相同)。
新建一個.babelrc文件,并在里面寫入:

{"presets": ["env"] }

執(zhí)行

babel-node index.js

我的例子: https://github.com/weiqinl/demo/tree/master/01-es6-import
babel官方給出的一個例子:https://github.com/babel/example-node-server

2018-10-18 更新

無法識別import,換一種想法,也可以說是低版本瀏覽器不支持。現(xiàn)在babel已經(jīng)更新到版本7了,我們用最新的babel來實現(xiàn)。
該問題的babel7的解決方案:https://www.cnblogs.com/weiqinl/p/9773048.html

參考: https://github.com/nodejs/help/issues/53

轉載于:https://www.cnblogs.com/weiqinl/p/9152219.html

總結

以上是生活随笔為你收集整理的解决问题SyntaxError: Unexpected token import的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。