Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 包括在node.js测试脚本中通过bower安装的主干_Javascript_Node.js_Backbone.js_Browserify_Node.js Tape - Fatal编程技术网

Javascript 包括在node.js测试脚本中通过bower安装的主干

Javascript 包括在node.js测试脚本中通过bower安装的主干,javascript,node.js,backbone.js,browserify,node.js-tape,Javascript,Node.js,Backbone.js,Browserify,Node.js Tape,我有一个基于gulp的项目,使用browserify和debowerify构建应用程序。应用程序 取决于主干-作为bower组件安装 具有一些额外的域类,这些域类需要s主干 我在上面构建了1作为vendor.js和2作为app.js,并将这两个文件都包含在html文件中,运行良好 现在我准备使用磁带进行测试,我首先测试模型类: var todoModel = require('../../libs/todo/model/todo.js').Todo; var test = require('ta

我有一个基于gulp的项目,使用
browserify
debowerify
构建应用程序。应用程序

  • 取决于主干-作为bower组件安装
  • 具有一些额外的域类,这些域类需要s
    主干
  • 我在上面构建了
    1
    作为
    vendor.js
    2
    作为
    app.js
    ,并将这两个文件都包含在html文件中,运行良好

    现在我准备使用磁带进行测试,我首先测试
    模型
    类:

    var todoModel = require('../../libs/todo/model/todo.js').Todo;
    var test = require('tape');
    var aTodo = new todoModel();
    
    test('todo model test',function(t){
      eyes.inspect(atodo, "one");
      t.equal(1,one.valueOf(),'one should be equal to one');
      t.end();
    });
    
    libs/todo/model/todo.js:

      var Backbone = require('backbone');
      var Storage = require('../helpers/storage.js');
      var Todo = Backbone.Model.extend({
          ...
      })
    
    当我以
    磁带测试/model test.js
    的形式运行这个测试时,我得到一个(expteced)错误
    错误:找不到模块“主干”
    。那么现在,如何使bower候选
    主干
    可用于node.js测试脚本

    注意:一个简单的解决方法是添加
    主干
    作为节点依赖项,但是如果假设库仅在bower中可用,该怎么办?

    您不能尝试吗

    require('./your/path/to/backbonejs/probably/bower_components/etc');
    
    ?

    无论如何,我认为这与如何设置测试环境更相关,不确定您是否使用jasmine或其他软件,但对于jasmine,我必须添加一个angularMock文件,以便能够测试angularMock


    我不明白为什么您需要后端的主干网,如果它打算用于前端,除非您提到的是用于测试目的,那么问题应该更多地与如何设置测试有关,而不是需要主干网

    否,因为
    require('backbone')
    在todo.js中,这是我试图测试的源文件。正如我前面提到的,源文件已经被绑定,并且使用browserify可以很好地执行。谢谢然后,除非您在节点中使用npm安装安装了“主干”,否则错误消息将被更正为Grunt用户,我建议您使用模块,而不是
    debowerify
    。我不确定Gulp是否有类似的情况。它基本上是通过Bower包进行循环,并将其打包。