【发布时间】:2015-05-25 16:14:16
【问题描述】:
当我尝试将 angular 和 angular-hammer(Ryan Mullins 版本)与 browserify 捆绑时,Gulp 会抛出一个不清楚的错误。
对于应用程序的精简版本,package.json 文件是:
{
"name": "hammer-test",
"version": "0.0.0",
"description": "",
"main": "app/main.js",
"devDependencies": {
"browserify": "^10.2.1",
"browserify-shim": "^3.8.7",
"gulp": "^3.8.11",
"vinyl-source-stream": "^1.1.0"
},
"dependencies": {
"angular": "^1.3.15",
"angular-hammer": "^2.1.10",
"hammerjs": "^2.0.4"
}
}
(我包含了 browserify-shim,因为抛出了一个错误,要求 angular-hammer 缺少这个依赖项。)
gulpfile.js 包含一个运行 browserify 的捆绑任务:
'use strict';
var browserify = require('browserify');
var gulp = require('gulp');
var source = require('vinyl-source-stream');
// Bundle (browserify).
gulp.task('bundle', function() {
return browserify('./app/js/main.js')
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./dist/js'));
});
gulp.task('default', ['bundle']);
最后,主 javascript 文件 app/js/main.js 包含:
(function() {
'use strict';
// Require stuff.
var angular = require('angular');
var Hammer = require('hammerjs');
require('angular-hammer');
// Initialize angular application.
var app = angular.module('myApp', ['hmTouchEvents']);
}());
应用程序的目录结构现在如下所示:
- app
- js
-main.js
- node_modules
- angular
- angular-hammer
- browserify
- browserify-shim
- gulp
- hammerjs
- vinyl-source-stream
- gulpfile.js
- package.json
当我现在尝试使用命令运行捆绑任务时:
gulp
然后抛出如下错误:
events.js:72
throw er; // Unhandled 'error' event
^
Error: ENOENT, open '/home/brennerd/Develop/hammer-test/node_modules/angular-hammer/node_modules/angular/angular.js'
该错误描述性不是很强,但某些路径似乎连接不正确。我在某处犯了浏览器错误吗?我的 browserify 经验是有限的,所以很可能就是这种情况。还是不能将 angular-hammer 与 browserify 捆绑在一起?
谢谢!
【问题讨论】:
标签: angularjs gulp browserify hammer.js