gulp怎么打包js中的import语法
我的gulp
配置文件基础是这样的。
const gulp = require('gulp'),
babel = require('gulp-babel'),
ugify = require('gulp-uglify')
gulp.task('watch', function () {
gulp.watch('app.js', ['a'])
})
gulp.task('a', () =>
gulp.src('app.js')
.pipe(babel({
presets: ['es2015']
}))
.pipe(ugify())
.pipe(gulp.dest('dist'))
)
然后我的app.js
中用了es6的module
语法
import { bar } from './index.js'
var foo = () => {
console.log(bar)
}
foo()
index.js
如下
export const bar = 'aaaaaaaaaaaa'
打包后的js
如下,但是这样并不能在浏览器端运行。
"use strict";var _index=require("./index.js"),foo=function(){console.log(_index.bar)};foo();
所以,应该怎么修改呢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
babel只能转化,不能打包,你还需要使用browserify这个插件
可以看看gulp-js-import这个gulp插件,允许你用类似css的@imprt语法引入其他js文件。
比如:
index.js内容如下:
这样会直接把相对./widget/widget.js的文件引入到index.js中,编译以后会合并两个文件。
而且widget.js中还可以继续引用其他文件,蛮强大的
可以引入webpack来打包js,webpack的文档中有介绍如何将webpack添加到gulp的流程中:Integrations
先安装依赖:
gulpfile.js
gulp不是模块化开发工具,不能把你需要的资源打包。
import的支持需要增加plugin。 https://babeljs.io/docs/plugins/
你应该想实现的是app.js 和index.js 打入一个包中吧?
gulp.src(['app.js','index.js'])