karma.conf.js应该始终位于应用程序的路由中

时间:2015-10-30 14:39:23

标签: ruby-on-rails angularjs

我习惯使用Angular和这种典型的结构来构建应用程序:

app
    js
          home
              home.controller.js
              home.directive.js
          shared
              usedByAll.controller.js
              usedByAll.directive.js
    templates
         home.html
test
    e2e
       protractor tests
node_modules
index.html
package.json

因此,当其他人进来想要赶上时,他们只需要运行

npm install

将列出的所有依赖项安装到node_modules文件夹中,节省时间。

但是最近我开始研究一个Ruby-on-Rails项目,该项目正在寻求一些组件的角度化。这自然意味着他们遵循自己的MVC风格和项目结构,并且角度内容仅限于以下文件夹:

app/assets/javascripts/angular-components/component1
                                          component2
                                          component3
                                          lib/angular.js
                                              angular-mocks.js
                                              etc

这对于开发很好,但是当它归结为测试时,我认为这可能是一个问题。所以我的问题实际上如下:

1 - 通过 npm 安装新模块并尝试将其保存为devDependencies时     npm install karma --save-dev 对于package.json文件,是不是意味着您应该在根目录下拥有node_modules文件夹以及根目录下的package.json文件?

2 - karma.conf.js文件(如node_modules文件夹和package.json文件)是否始终位于应用程序的绝对根目录下?

由于

1 个答案:

答案 0 :(得分:0)

在许多rails / angular应用程序中,您可以看到Angular隐藏在app / assets / javascripts文件夹中。我个人不喜欢混合和匹配我在页面上使用的东西 - 即去获取Rails生成的视图,或者这个是Angular的,所以去那里。

相反,我打破了这两个。本质上,Rails的一部分只是作为API运行,而Angular现在完全处理前端。这使您可以将角度部分视为独立的应用程序,遵循典型的角度结构。通过这样做,你可以在这个文件夹的根目录下有karma.conf.js文件。

ExampleAppName
    - app (All Angular stuff is in here)
         - src
         - gulpfile.js
         - karma.conf.js
         - package.json
    - api (All rails stuff is in here)
         - rails stuff