我的编程空间,编程开发者的网络收藏夹
学习永远不晚

gulp+browserify编译es6错误怎么解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

gulp+browserify编译es6错误怎么解决

这篇“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错误怎么解决”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

gulp+browserify编译es6错误怎么解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

gulp+browserify编译es6错误怎么解决

这篇“gulp+browserify编译es6错误怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“gulp+brows
2023-06-17

C++中linker在编译时错误怎么解决

在C++中,链接错误通常是由于以下几个原因引起的:未定义的符号:这通常是由于忘记包含相关的源文件或库文件导致的。解决方法是确保所有需要的源文件或库文件都正确包含在项目中。重复定义的符号:这通常是由于多个源文件中都定义了相同的符号导致的。解决
2023-10-23

unity编译器错误如何解决

要解决Unity编译器错误,可以尝试以下方法:1. 检查错误信息:在编译器的错误窗口中查看错误信息,了解错误的具体原因。2. 检查脚本语法错误:检查脚本中的语法错误,例如拼写错误、缺少分号等。3. 检查引用错误:检查是否有缺少的引用或无效的
2023-09-29

Java的编译时错误和运行时错误问题怎么解决

本篇内容介绍了“Java的编译时错误和运行时错误问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java编译时错误和运行时错误1.
2023-07-05

vb编译错误缺少语句结束怎么解决

在VB编译过程中,如果出现缺少语句结束的错误,通常是由于以下原因之一:1. 语法错误:检查代码中是否有缺失的分号、括号等标点符号,并确保它们被正确地闭合。2. 代码逻辑错误:检查代码中是否有逻辑错误,例如缺少条件语句的结束标记或缺失循环体的
2023-10-11

php 编译 iconv错误怎么办

php编译iconv错误的解决办法:1、在make时用“make ZEND_EXTRA_LIBS='-liconv'”代替;2、添加“EXTRA_LIBS = ..... -lcrypt -liconv”即可。
2018-08-23

php 编译 iconv错误怎么办

PHP编译Iconv错误排查指南编译PHP时遇到Iconv错误,例如"iconvlibrarynotfound",表明编译器无法找到Iconv库。原因可能是Iconv库缺失或PHP配置不正确。解决方案:安装Iconv库更新PHP配置:extension=iconv.so重新编译PHP:./configure--with-iconv&&make&&makeinstall其他方法:检查Iconv库路径修复损坏的安装禁用其他扩展更新编译器联系支持常见问答:Iconv库的作用:文本
php 编译 iconv错误怎么办
2024-04-26

vue工程编译sass错误如何解决

这篇文章主要介绍了vue工程编译sass错误如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue工程编译sass错误如何解决文章都会有所收获,下面我们一起来看看吧。vue工程编译sass错误的解决办法:
2023-07-04

php编译iconv错误的解决方法是什么

这篇文章主要介绍“php编译iconv错误的解决方法是什么”,在日常操作中,相信很多人在php编译iconv错误的解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php编译iconv错误的解决方法
2023-06-25

vue工程编译sass错误怎么办

vue工程编译sass错误的解决办法:1、使用镜像源“cnpm install node-sass sass-loader --save-dev”安装sass;2、在“package.json”中更改“sass-loader”版本为“"sass-loader": "^7.3.1",”;3、在页面中直接使用或者用@代替src即可。
2023-05-14

javascript预编译检查错误怎么办

JavaScript作为一门常见的编程语言,在Web开发中得到了广泛应用。在编写JavaScript代码时,由于语言特性的复杂性和灵活性,很容易犯一些错误,这些错误可能会导致程序运行时的崩溃或者产生不可预料的结果。要避免这种情况的发生,我们可以使用JavaScript预编译检查工具来检查代码中的错误。JavaScript预编译检查工具是一种自动化工具,可以检查代码中可能出现的错
2023-05-14

java项目中出现编译错误如何解决

java项目中出现编译错误如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。解决java编译错误编译:javac Servlet.java 出现软件包 javax.se
2023-05-31

vue中sass-loader版本过高导致的编译错误怎么解决

本文小编为大家详细介绍“vue中sass-loader版本过高导致的编译错误怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue中sass-loader版本过高导致的编译错误怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录