Gulp和Pixi.js - ReferenceError:窗口未定义

时间:2016-09-19 13:44:44

标签: gulp pixi.js

我最近换了一口气,以为我会尝试pixi.js,我一直在使用pixi的cdn,但现在我想让pixi-timer延迟某些功能。

所以我想,为什么不开始用gulp捆绑所有这些?

但是我遇到了以下错误:

  

ReferenceError:未定义窗口

我认为最新版本的pixi.js支持gulp甚至浏览器化,但是当我尝试要求pixi.js时它就会失败。

有任何指示?

我的gulp文件:

var gulp = require('gulp');
var concat = require('gulp-concat');
 var PIXI = require('pixi.js');
// var timer = require('pixi-timer');
var browserify = require('gulp-browserify');


gulp.task('game', function(){
    return gulp.src('interface/js/gamelogic/**/*.js')
    .pipe(concat('game.js'))
    .pipe(gulp.dest('Vamp.Website/Resources/'));
});

gulp.task('default', function(){
    gulp.watch('interface/js/gamelogic/**/*.js', ['game']);
});

完整错误日志:

  

d:\东西\鞋面\鞋面\鞋面>吞   d:\东西\鞋面\鞋面\鞋面\ node_modules \ pixi.js \ SRC \填充工具\ index.js:5   如果(!window.ArrayBuffer){       ^

     

ReferenceError:未定义窗口       在对象。 (d:\东西\鞋面\鞋面\鞋面\ node_modules \ pixi.js \ SRC \填充工具\ index.js:5:5)       在Module._compile(module.js:413:34)       在Object.Module._extensions..js(module.js:422:10)       在Module.load(module.js:357:32)       在Function.Module._load(module.js:314:12)       在Module.require(module.js:367:17)       at require(internal / module.js:16:19)       在对象。 (d:\东西\鞋面\鞋面\鞋面\ node_modules \ pixi.js \ SRC \ index.js:2:1)       在Module._compile(module.js:413:34)       在Object.Module._extensions..js(module.js:422:10)

     

d:\东西\鞋面\鞋面\鞋面>

1 个答案:

答案 0 :(得分:3)

您需要删除此行:

var PIXI = require('pixi.js');

在您的gulp构建期间,您需要pixi.js。由于几个原因,这是错误的。

  1. 您实际上并没有在gulpfile中的任何位置使用PIXI。那你为什么要求呢?
  2. PixiJs是一款针对浏览器的WebGL渲染器。你的gulp构建在node.js中运行,它没有window个对象。这就是您收到错误的原因。
  3. 您希望将pixi.js和其他文件捆绑到一个game.js文件中。您不需要pixi.js。您只需将pixi.js安装的路径传递给gulp.src(),就像这样:
  4. gulp.task('game', function(){
      return gulp.src([
        'node_modules/pixi.js/bin/pixi.js',
        'interface/js/gamelogic/**/*.js'
      ])
      .pipe(concat('game.js'))
      .pipe(gulp.dest('Vamp.Website/Resources/'));
    });