无法读取 gulp-browserify 中未定义的 属性 'emit'
Cannot read property 'emit' of undefined in gulp-browserify
我 运行 遇到了问题。我已经创建了自己的种子:https://github.com/damirkusar/leptir-angular-seed 和 gulp、browserify 等等。
一切正常,因为我有将节点从 10.32 更新到 12.5 的好主意,我收到以下错误。我认为这是从那时起。我也在不同的机器上试过,同样的设置,同样的错误。
所以,在安装 npm 和 bower 安装后,我将启动应用程序:
gulp
或尝试使用
构建项目时
gulp build
我收到这个错误:
leptir-angular-seed/node_modules/gulp-browserify/node_modules/browserify/node_modules/module-deps/index.js:162
rs.on('error', function (err) { tr.emit('error', err) });
^
TypeError: Cannot read property 'emit' of undefined
at ReadStream.<anonymous> (/leptir-angular-seed/node_modules/gulp-browserify/node_modules/browserify/node_modules/module-deps/index.js:162:39)
at ReadStream.emit (events.js:107:17)
at fs.js:1618:12
at FSReqWrap.oncomplete (fs.js:95:15)
这里还有link到package.json:https://github.com/damirkusar/leptir-angular-seed/blob/450ffe99943036cd5a670e54ec3884c02bd7bb8a/package.json。
但幸运的是,karma start 执行了测试并且所有测试都通过了..
可能有些版本没有被正确支持?
有谁知道导致此问题的原因吗?
-- 编辑 2015 年 6 月 25 日 14:23
我在我的 gulp 文件中使用导致问题的模块,如下所示:
// Browserify task
gulp.task('browserify', function () {
gulp.src(paths.browserify[0])
.pipe(browserify({
insertGlobals: true,
debug: true
}))
// Bundle to a single file
.pipe(concat('bower.js'))
// Output it to our dist folder
.pipe(gulp.dest(paths.destination_public))
.pipe(refresh(lrServer)); // Tell the lrServer to refresh;
gulp.src(paths.browserify[1])
.pipe(browserify({
insertGlobals: true,
debug: true
}))
// Bundle to a single file
.pipe(concat('app.js'))
// Output it to our dist folder
.pipe(gulp.dest(paths.destination_public))
.pipe(refresh(lrServer)); // Tell the lrServer to refresh;
});
哪个浏览器验证这些 app.js 文件及其内容:
require('./modules/core');
require('./modules/core');
和bower.js及其内容:
'use strict';
require('jquery');
require('bootstrap');
require('moment');
require('underscore');
require('angular');
require('angular-animate');
require('angular-bootstrap');
require('angular-bootstrap-tpls');
require('angular-cookies');
require('angular-mocks');
require('angular-resource');
require('angular-ui-router');
require('angular-ui-utils');
require('angular-translate');
require('angular-translate-loader-static-files');
require('angular-translate-loader-url');
require('angular-translate-storage-cookie');
require('angular-translate-storage-local');
非常感谢
"...but in fact, otherwise i am not using this module which causes the error."
- 达米尔
模块也有依赖关系。另一个模块使用的这些模块之一似乎是一个问题。
您正在使用的模块可能依赖于旧版本的节点组件。尝试找回旧的,直到错误被修复。
在 windows machine(而不是我的 mac)上,它向我显示了更好的错误消息。
我引用了未安装的 bower 包..但完全忘记将其从 package.json 和 bower.js 中删除。
所以我删除了上述文件中引用以下包的代码:
- angular-翻译存储cookie
- angular-翻译存储本地
-- 2015 年 6 月 27 日更新 - 22:41 --
我看到 gulp-browserify 被 gulpjs 列入黑名单,所以我认为最好摆脱它,因为我在 windows [=55 上也遇到了问题=]海因斯。我没有使用 gulp-browserify,而是使用带有 vinyl-transform 的普通 browserify。
首先,更新您的package.json:
"browserify": "9.0.4",
"vinyl-transform": "1.0.0"
你看,我正在使用这两个版本,这是因为使用较新的 browserify 版本,事情并没有真正起作用,所以为了确保它在我更新我的包时也能起作用,我将它们保存在这个版本。
然后让我们更新我们的 gulp 文件。我们需要添加这两行:
var browserify = require('browserify'),
transform = require('vinyl-transform');
我的新任务是这样的:
gulp.task('browserify', function () {
var browserified = transform(function(filename) {
var b = browserify(filename);
return b.bundle();
});
return gulp.src(paths.browserify)
.pipe(browserified)
.pipe(gulp.dest(paths.destination_public));
});
它现在更短更简洁了。我的路径是这样配置的..
var paths = {
...
browserify: ['./public/bower.js', './public/app.js'],
...
destination_public: './dist/'
};
现在我的种子正在以同样的方式在 mac 和 windows 上工作。
https://github.com/damirkusar/leptir-angular-seed
我 运行 遇到了问题。我已经创建了自己的种子:https://github.com/damirkusar/leptir-angular-seed 和 gulp、browserify 等等。
一切正常,因为我有将节点从 10.32 更新到 12.5 的好主意,我收到以下错误。我认为这是从那时起。我也在不同的机器上试过,同样的设置,同样的错误。
所以,在安装 npm 和 bower 安装后,我将启动应用程序:
gulp
或尝试使用
构建项目时gulp build
我收到这个错误:
leptir-angular-seed/node_modules/gulp-browserify/node_modules/browserify/node_modules/module-deps/index.js:162
rs.on('error', function (err) { tr.emit('error', err) });
^
TypeError: Cannot read property 'emit' of undefined
at ReadStream.<anonymous> (/leptir-angular-seed/node_modules/gulp-browserify/node_modules/browserify/node_modules/module-deps/index.js:162:39)
at ReadStream.emit (events.js:107:17)
at fs.js:1618:12
at FSReqWrap.oncomplete (fs.js:95:15)
这里还有link到package.json:https://github.com/damirkusar/leptir-angular-seed/blob/450ffe99943036cd5a670e54ec3884c02bd7bb8a/package.json。
但幸运的是,karma start 执行了测试并且所有测试都通过了..
可能有些版本没有被正确支持? 有谁知道导致此问题的原因吗?
-- 编辑 2015 年 6 月 25 日 14:23
我在我的 gulp 文件中使用导致问题的模块,如下所示:
// Browserify task
gulp.task('browserify', function () {
gulp.src(paths.browserify[0])
.pipe(browserify({
insertGlobals: true,
debug: true
}))
// Bundle to a single file
.pipe(concat('bower.js'))
// Output it to our dist folder
.pipe(gulp.dest(paths.destination_public))
.pipe(refresh(lrServer)); // Tell the lrServer to refresh;
gulp.src(paths.browserify[1])
.pipe(browserify({
insertGlobals: true,
debug: true
}))
// Bundle to a single file
.pipe(concat('app.js'))
// Output it to our dist folder
.pipe(gulp.dest(paths.destination_public))
.pipe(refresh(lrServer)); // Tell the lrServer to refresh;
});
哪个浏览器验证这些 app.js 文件及其内容:
require('./modules/core');
require('./modules/core');
和bower.js及其内容:
'use strict';
require('jquery');
require('bootstrap');
require('moment');
require('underscore');
require('angular');
require('angular-animate');
require('angular-bootstrap');
require('angular-bootstrap-tpls');
require('angular-cookies');
require('angular-mocks');
require('angular-resource');
require('angular-ui-router');
require('angular-ui-utils');
require('angular-translate');
require('angular-translate-loader-static-files');
require('angular-translate-loader-url');
require('angular-translate-storage-cookie');
require('angular-translate-storage-local');
非常感谢
"...but in fact, otherwise i am not using this module which causes the error."
- 达米尔
模块也有依赖关系。另一个模块使用的这些模块之一似乎是一个问题。
您正在使用的模块可能依赖于旧版本的节点组件。尝试找回旧的,直到错误被修复。
在 windows machine(而不是我的 mac)上,它向我显示了更好的错误消息。
我引用了未安装的 bower 包..但完全忘记将其从 package.json 和 bower.js 中删除。
所以我删除了上述文件中引用以下包的代码:
- angular-翻译存储cookie
- angular-翻译存储本地
-- 2015 年 6 月 27 日更新 - 22:41 --
我看到 gulp-browserify 被 gulpjs 列入黑名单,所以我认为最好摆脱它,因为我在 windows [=55 上也遇到了问题=]海因斯。我没有使用 gulp-browserify,而是使用带有 vinyl-transform 的普通 browserify。
首先,更新您的package.json:
"browserify": "9.0.4",
"vinyl-transform": "1.0.0"
你看,我正在使用这两个版本,这是因为使用较新的 browserify 版本,事情并没有真正起作用,所以为了确保它在我更新我的包时也能起作用,我将它们保存在这个版本。
然后让我们更新我们的 gulp 文件。我们需要添加这两行:
var browserify = require('browserify'),
transform = require('vinyl-transform');
我的新任务是这样的:
gulp.task('browserify', function () {
var browserified = transform(function(filename) {
var b = browserify(filename);
return b.bundle();
});
return gulp.src(paths.browserify)
.pipe(browserified)
.pipe(gulp.dest(paths.destination_public));
});
它现在更短更简洁了。我的路径是这样配置的..
var paths = {
...
browserify: ['./public/bower.js', './public/app.js'],
...
destination_public: './dist/'
};
现在我的种子正在以同样的方式在 mac 和 windows 上工作。 https://github.com/damirkusar/leptir-angular-seed