Я привык к созданию приложений ng, используя только 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 установите karma --save-dev в файл package.json, разве это не значит, что у вас должна быть папка node_modules в корне, а также в пакете. json файл в корне?
2 - Должен ли файл karma.conf.js, например, папка node_modules и файл package.json, всегда быть абсолютным корнем приложения?
благодаря
Во многих рельсах/угловых приложениях вы можете видеть, что Angular убирается внутри папки app/assets/javascripts. Мне лично не нравится смешивать и сопоставлять то, что я использую, когда речь заходит о страницах, то есть идти и получать Rails сгенерированный вид, или этот является угловым, поэтому идите туда.
Вместо этого я разразился двумя. По существу часть 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