2016-09-19 72 views
0

我最近已经切换到吞噬,并认为我会尝试pixi.js,我一直在使用pixn的cdn,但现在我想要pixi-timer延迟某些功能。Gulp和Pixi.js - ReferenceError:窗口没有定义

所以我想,为什么不开始把它与吞噬一起捆绑?

但是我遇到了以下错误:

ReferenceError: window is not defined

我认为pixi.js的最新版本支持一饮而尽,甚至browserify,然而当我试着要求pixi.js.失败

有什么建议吗?

我一饮而尽文件:

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:\Stuff\Vamp\vamp\Vamp>gulp D:\Stuff\Vamp\vamp\Vamp\node_modules\pixi.js\src\polyfill\index.js:5 if(!window.ArrayBuffer){ ^

ReferenceError: window is not defined at Object. (D:\Stuff\Vamp\vamp\Vamp\node_modules\pixi.js\src\polyfill\index.js:5:5) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:16:19) at Object. (D:\Stuff\Vamp\vamp\Vamp\node_modules\pixi.js\src\index.js:2:1) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10)

D:\Stuff\Vamp\vamp\Vamp>

回答

3

您需要删除此行:你一饮而尽构建期间

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

这里你需要pixi.js。这有几个原因是错误的。

  1. 你实际上并没有在PIXI的任何地方做任何事情在你的gulp文件。那么你为什么需要它?
  2. PixiJs是一款面向浏览器的WebGL渲染器。你的gulp版本运行在没有window对象的node.js中。这就是你得到这个错误的原因。
  3. 您想将pixi.js和其他文件合并为一个game.js文件。您无需为此需要pixi.js。你只需要你pixi.js安装的路径传递到gulp.src()这样的:
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/')); 
}); 
+0

这是有道理的,你猜我还有很多东西需要学习:d感谢您抽出时间详细解释 – user1725266