Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 要求/棕色有棱角的连帽衫_Javascript_Angularjs_Browserify_Hoodie - Fatal编程技术网

Javascript 要求/棕色有棱角的连帽衫

Javascript 要求/棕色有棱角的连帽衫,javascript,angularjs,browserify,hoodie,Javascript,Angularjs,Browserify,Hoodie,我的目标是在Angular中使用hood.ie框架。我不想包含所有的JS文件,而是想使用Browserify并要求()依赖项。我找不到要求连帽衫的方法(hood.ie的模板应用程序使用“hoodie start”命令提供的。是否有方法将其包含在require()中 我的项目结构: . +-- app | +-- app.js | +-- index.html | +-- main | | +-- index.js | | +-- main.html | +-- auth |

我的目标是在Angular中使用hood.ie框架。我不想包含所有的JS文件,而是想使用Browserify并要求()依赖项。我找不到要求连帽衫的方法(hood.ie的模板应用程序使用“hoodie start”命令提供的
。是否有方法将其包含在require()中

我的项目结构:

.
+-- app 
|  +-- app.js
|  +-- index.html
|  +-- main
|  |  +-- index.js
|  |  +-- main.html
|  +-- auth
|  |  +-- index.js
|  |  +-- login.html
+-- dist
|  +-- main
|  |  +-- main.html
|  +-- auth
|  |  +-- index.html 
|  +-- browsified.js
|  +-- index.html
dist目录由gulp生成:

var gulp = require('gulp')
var browserify = require('browserify')
var source = require('vinyl-source-stream')
var exec = require('child_process').exec

gulp.task('hoodie-start', ['copy-static', 'browserify'],  function() {
  var child = exec('node ./node_modules/hoodie-server/bin/start --www dist --custom-ports 6001,6002,6003');
  child.stdout.on('data', function(data) {
      console.log(data);
  });
  child.stderr.on('data', function(data) {
      console.log(data);
  });
  return child;
});

gulp.task('browserify', function() {
    var options = {
        entries: ['./app/app.js'],
        extensions: ['.js']
    }
    return browserify(options)
        .bundle()
        .pipe(source('browserified.js'))
        .pipe(gulp.dest('./dist'));
});

gulp.task('copy-static', function() {
    return gulp.src(['./app/**/*.html'])
        .pipe(gulp.dest('./dist')); 
});
package.json文件(从无关部分剥离):

最后,app.js:

var angular = require('angular');
var ngRoute = require('angular-route');

var main = require('./main');
var auth = require('./auth');  

var app = angular.module('myApp', ['ngRoute', 'hoodie', main.name, auth.name]); 

app.config([
    '$routeProvider', 'hoodieProvider', function($routeProvider, hoodieProvider) {

        $routeProvider.when('/login', {
            templateUrl: 'auth/login.html',
            controller: 'LoginController'
        });

        $routeProvider.otherwise({
            templateUrl: 'main/main.html',
            controller: 'MainController'
        });

        hoodieProvider.url('http://myapp.com');

    }
]);
我计划利用连帽衫插件angularjs,但它也不需要()


有没有关于如何将其整合在一起的提示?

这里似乎有两个问题。首先,通过查看文档,您似乎需要公开
Hoodie
构造函数的库。其次,
Hoodie插件angularjs
库可用。请尝试以下操作:

// app.js

// Make global
var Hoodie = require('hoodie-client');
window.Hoodie = Hoodie;

// Now the plugin knows about Hoodie.
// It will run the side-effect,
// namely registering the angular service 
require('hoodie-plugin-angularjs');

// ... Angular code that uses Hoodie

我尝试过“npm安装--保存”hoodie@next“然后需要('hoodie'),但由于某些原因它不起作用。这就是方法吗?如果您通过npm安装插件,它应该是必需的…找不到hoodie,请查找附件错误:您是否需要客户端库?“npm安装--保存hoodie client”并添加了require。”('hoodie-client');require('hoodie');运行gulp时出现相同的错误…我想,我接受答案的速度太快了。第一行,'var hoodie=require('hoodie-client');'工作得很好。添加它后,我可以手动创建hoodie对象。'var hoodie=new hoodie()是的,但在运行“gulp browserify”时,要求连帽衫插件angularjs实际上失败了,出现了“错误:找不到模块hoodie plugin angularjs”。这是因为它不是一个合适的CommonJS模块吗?似乎是……我会研究一下,否则你可以将其分叉,使其与CommonJS兼容。
// app.js

// Make global
var Hoodie = require('hoodie-client');
window.Hoodie = Hoodie;

// Now the plugin knows about Hoodie.
// It will run the side-effect,
// namely registering the angular service 
require('hoodie-plugin-angularjs');

// ... Angular code that uses Hoodie