Browserify Ember.js 1.7
最新的1.7 Ember beta版中断了我的gulp browserify任务(配置如下),但以下情况除外:Browserify Ember.js 1.7,ember.js,browserify,browserify-shim,Ember.js,Browserify,Browserify Shim,最新的1.7 Ember beta版中断了我的gulp browserify任务(配置如下),但以下情况除外: 错误:需要向browserify shim传递一个正确的browserify实例作为第一个参数。 Gulp在1.7之前一直在愉快地浏览Ember(并且在最新的1.6版本中继续使用下面的配置)。我在1.7的发行说明中注意到模块系统经历了一些变化 我的问题是:这是余烬(或者Browserify)中的合法bug吗?还是说Ember不再打算与browserify这样的工具一起使用,转而使用其他
错误:需要向browserify shim传递一个正确的browserify实例作为第一个参数。
Gulp在1.7之前一直在愉快地浏览Ember(并且在最新的1.6版本中继续使用下面的配置)。我在1.7的发行说明中注意到模块系统经历了一些变化
我的问题是:这是余烬(或者Browserify)中的合法bug吗?还是说Ember不再打算与browserify这样的工具一起使用,转而使用其他特定方法
精确配置:
packages.json:
(注意,这个特定站点已经通过标准脚本标记嵌入了jQuery,因此需要browserify shim和jQuery dep上的global:
符号。)
gulpfile.js:
app.js:
基本程序:
在测试目录中:
npm安装过滤网过滤网过滤网过滤网过滤网过滤网过滤网过滤网垫片
- 确保存在到DEP的路径:
“把手”:“/scripts/lib/handlebar-v1.3.0.js”
“ember”:“/scripts/lib/ember-1.7.min.js”
- 在上面添加我的示例
app.js
- 在上面添加我的
packages.json
- 在上面添加我的
gulpfile.js
- 运行
gulp
- 将余烬1.7替换为1.6以获得成功
谢谢 你曾经使用过Ember 1.7(或更新版本)吗?没有使用
gulp browserify
本身。但是,我至少能够通过在gulpfile.js中手动创建一个额外的gulp任务,在Ember 1.7中使用browserify,ala:gulp.task('browserify-manually',function(){run(“browserify./path/to/Ember/app.js-o./path/to/output.js”).exec();})
我没有进一步研究它,因为EmberCLI现在是这类事情的最佳实践。非常感谢您跟踪@user1889765。前几天我还没有完全弄明白这一点,但从昨天开始我就成功地使用了ember cli:)你在浏览什么?据我所知,从1.0.0-pre.2开始,Ember就没有提供npm包(尽管它很快就会开始提供)。
{
"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"
}
}
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']);
var Ember = require('ember');