私は(大まかに)次のディレクトリ設定をしています
- project
...
- tasks/
- config/
grunt.json
- client/
- source_code_1/
- source_code_2/
- tests/
- Gruntfile.js
- karma.config.json
- node_modules
- package.json
また、browserify を使用して JS をバンドルしています。
すべての grunt/karma/browserify コードがサーバー コードと完全に混同されているため、このセットアップは非常に面倒です。
私が望むのは、すべてを次のようにクライアントディレクトリに移動することです
- project
...
- client
- tasks/
- config
- grunt.json
- src/
- source_code_1
- source_code_2
- tests
- node_modules
- Gruntfile.js
- karma.config.json
- package.json
これは、JS コードとテストの依存関係をバンドルする限り、browserify と完全に連携します。
唯一の問題は、カルマがテストを実行するときにジャスミンを見つけることができなくなったことです。ログ レベルを DEBUG に設定すると、セットアップが実行されているように見えます。
DEBUG [web-server]: serving: /project/node_modules/karma-jasmine/lib/jasmine.js
DEBUG [web-server]: serving: /project/node_modules/karma-jasmine/lib/adapter.js
DEBUG [web-server]: serving: /project/node_modules/karma-commonjs/client/commonjs_bridge.js
カルマがブラウザに接続した後。
これらは壊れたセットアップでは見られませんが、タスクと構成は同じです。唯一の実際の違いは、ノード モジュールがクライアント ディレクトリにあり、ソース コードが新しいディレクトリに移動したことです。