我习惯使用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文件)是否始终位于应用程序的绝对根目录下?
由于
答案 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