以下是我的Gulpfile:
const gulp = require("gulp");
const rollup = require("rollup-stream");
const vue = require("rollup-plugin-vue");
const resolve = require("rollup-plugin-node-resolve");
const commonjs = require("rollup-plugin-commonjs");
const json = require("rollup-plugin-json");
const babel = require("rollup-plugin-babel");
const globals = require("rollup-plugin-node-globals");
const source = require("vinyl-source-stream");
const buffer = require("vinyl-buffer");
const uglify = require("gulp-uglify");
// ... CSS tasks and the like
gulp.task("js", function scriptTask()
{
rollup({
input: "js/app.js",
plugins: [
vue(),
resolve({
jsnext: true,
browser: true
}),
json(),
commonjs(),
babel({
exclude: ["node_modules/**"],
presets: [["env", {modules: false}]],
plugins: ["external-helpers"]
}),
globals()
],
format: "iife",
})
.pipe(source("bundle.js"))
.pipe(buffer())
.pipe(uglify())
.pipe(gulp.dest("../dist"));
});
// ... default tasks and the like
这似乎成功地拉出所有依赖项并执行树抖动,但输出文件不会运行。取决于"格式的价值"传递给Rollup的选项,我在尝试时遇到以下错误之一:
Uncaught ReferenceError: require is not defined
at bundle.js:1
at bundle.js:1
at bundle.js:1
Uncaught ReferenceError: define is not defined
at bundle.js:1
at bundle.js:1
at bundle.js:1
Uncaught ReferenceError: module is not defined
at bundle.js:1
at bundle.js:1
at bundle.js:1
没有任何作用!
答案 0 :(得分:-1)
您应将此附加到脚本的末尾。
gulp.task('default', ['js']);
gulp.task('build', ['js']);