2017-10-05 48 views
1

我試圖使用RollupGulp彙總:(定義|求購模塊)沒有定義

以下是我的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 

這似乎成功地把所有的依賴和執行樹震動,但輸出文件不運行。根據傳遞到彙總「格式」選項的值,我收到以下錯誤之一嘗試時:

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

我想我解決了你在我的答案 – 2017-10-16 14:37:06

+0

需要模塊看我還在試圖解決你的其他2個錯誤 – 2017-10-16 14:43:47

回答

-1

您應該將其附加到腳本的末尾。

gulp.task('default', ['js']); 
gulp.task('build', ['js']); 
+0

問題不運行腳本之一。問題是運行腳本後輸出不正確 – stevendesu