中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

gulp+browserify編譯es6錯誤怎么解決

發布時間:2022-03-31 16:30:58 來源:億速云 閱讀:274 作者:iii 欄目:編程語言

這篇“gulp+browserify編譯es6錯誤怎么解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“gulp+browserify編譯es6錯誤怎么解決”文章吧。

環境搭建

首先使用npm初始化一個package.json文件

$ npm init

然后需要安裝gulp和browserify到本地項目中

$ npm install –save-dev gulp
$ npm install –save-dev browserify

接著還需要安裝兩個輔助的工具babelify 和 vinyl-source-stream

$ npm install –save-dev babelify
$ npm install –save-dev vinyl-source-stream

上面所有工具安裝完成以后在package.json文件中會有以下依賴

devDependencies: {
    babel-preset-es2015: "^6.18.0",
    babelify: "^7.3.0",
    browserify: "^13.3.0",
    gulp: "^3.9.1",
    vinyl-source-stream: "^1.1.0"
 }

編寫代碼

首先在根目錄下新建一個文件onmpw.es6.js

import {onmpw} from "./lib/onmpw";
var moma;
export default moma = function(){
    onmpw ();
    console.log('es6');
}
window.moma = moma;

然后在根目錄下新建gulpfile.js文件。編寫以下代碼

var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
gulp.task('onmpw',function(){
    return browserify({
        entries: "./onmpw.es6.js",
        debug: true,
    })
    .transform(babelify)
    .bundle()
    .pipe(source('onmpwes6.js'))
    .pipe(gulp.dest('dist')); })
gulp.task('default',['onmpw']);

然后運行gulp

$ gulp

這里我們在根目錄下運行gulp,并且gulpfile.js文件也在根目錄下。所以gulp會自動讀取gulpfile.js文件。如果gulpfile.js文件不再根目錄下,我們還需要指定gulpfile.js所在位置。

$ gulp –gulpfile gulpfile.js所在目錄

運行上述命令,順利情況下會編譯成功

[22:31:23] Using gulpfile /www/onmpw_plugins/ gulpfile.js
[22:31:23] Starting 'onmpw'...
[22:31:26] Finished 'onmpw' after 3.12 s
[22:31:26] Starting 'default'...
[22:31:26] Finished 'default' after 39 μs

但是事情總不是那么順利,這時很可能會報一下錯誤

events.js:160
      throw er; // Unhandled 'error' event
      ^
SyntaxError: 'import' and 'export' may appear only with 'sourceType: module'

錯誤解決

出現上述錯誤,我們首先就要去檢查各個工具的版本。在package.json文件中我們可以找到browserify和babelify的版本分別為13.3.0和7.3.0。這是非常新的版本,需要借助babel-preset-es2015工具(至于其原理是什么,大家可以自行去腦補)。

$ npm install –save-dev babel-preset-es2015

然后修改gulpfile.js內容中的

return browserify({
        entries: "./onmpw.es6.js",
        debug: true,
    })
.transform(babelify)

改為

return browserify({
    entries: "lib/momaEntry.js",
    debug: true,
})
.transform(babelify.configure({
        presets:['es2015']
}))

也可以在根目錄下新建 .babelrc 文件,然后寫入以下內容

{
    presets:['es2015']
}

兩種方式都是可以的。

當然了,既然知道是版本太新所引起的。除了上面添加輔助工具以外,還可以降低工具的版本。我自己經過試驗,得出只是降低babelify的版本為6.0.2即可。

$ npm install –save-dev babelify@6.0.2

package.json依賴工具的內容如下

devDependencies: {
    babel-preset-es2015: "^6.18.0",
    babelify: "^6.0.2",
    browserify: "^13.3.0",
    gulp: "^3.9.1",
    vinyl-source-stream: "^1.1.0"
  }

這樣我們就可以不用借助babel-preset-es2015這個工具了。也不用再修改gulpfile.js既可編譯成功。

以上就是關于“gulp+browserify編譯es6錯誤怎么解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

治县。| 平度市| 东山县| 铁岭县| 南阳市| 长治市| 玉门市| 砚山县| 西峡县| 图片| 毕节市| 公安县| 黔东| 石狮市| 铜川市| 扶余县| 孟村| 孝义市| 大理市| 台东县| 黑河市| 岑巩县| 和硕县| 汾阳市| 漾濞| 天气| 康马县| 镇巴县| 上思县| 南召县| 庆元县| 左权县| SHOW| 宣威市| 娄底市| 商河县| 阿城市| 涞水县| 东乡| 陆良县| 建昌县|