use*_*765 5 ember.js browserify browserify-shim
最新的1.7 Ember beta打破了我的gulp-browserify任务(下面的配置),但有以下异常:
Error: browserify-shim needs to be passed a proper browserify instance as the first argument.
Gulp一直在愉快地浏览Ember直到1.7(并且使用下面的配置继续使用最新的1.6).我在1.7的发行说明中注意到模块系统经历了一些剧变.
我的问题是:这是Ember(或者也许是Browserify)中的合法错误吗?或者Ember不再打算与浏览器这样的工具一起使用,而是支持其他一些特定的方法?
packages.json:
(注意,这个特定的站点已经通过标准脚本标记嵌入了jQuery,因此需要browserify-shim,以及global:jquery dep上的表示法.)
{
  "browser": {
    "handlebars": "./scripts/lib/handlebars-v1.3.0.js",
    "ember": "./scripts/lib/ember-1.7.min.js"
  },
  "browserify-shim": {
    "jquery": "global:jQuery",
    "handlebars": "Handlebars",
    "ember": {
      "exports": "Ember",
      "depends": [
        "handlebars:Handlebars"
      ]
    }
  },
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  },
  "devDependencies": {
    "browserify": "^4.1.11",
    "browserify-shim": "^3.5.0",
    "gulp": "^3.8.1",
    "gulp-browserify": "^0.5.0"
  }
}
gulpfile.js:
var gulp = require('gulp'),
    browserify = require('gulp-browserify');
gulp.task('scripts', function () {
    gulp.src([
              './app.js',
            ])
        .pipe(browserify({
            insertGlobals: false,
            debug: false
        })).pipe(gulp.dest('./Scripts/build'));
});
gulp.task('default', ['scripts']);
app.js:
var Ember = require('ember');
在测试目录中:
npm install gulp browserify gulp-browserify browserify-shim"handlebars": "./scripts/lib/handlebars-v1.3.0.js""ember": "./scripts/lib/ember-1.7.min.js"app.js上面的示例packages.json上面gulpfile.js上面gulp谢谢!