0

私は(大まかに)次のディレクトリ設定をしています

- 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

カルマがブラウザに接続した後。

これらは壊れたセットアップでは見られませんが、タスクと構成は同じです。唯一の実際の違いは、ノード モジュールがクライアント ディレクトリにあり、ソース コードが新しいディレクトリに移動したことです。

4

1 に答える 1

0

解決済み

問題はkarma-commonjs. それがそのことをするとき、それはかなり貪欲です。秘訣は、前処理中にディレクトリを含めないことでした。node_modules

于 2014-05-13T19:54:58.060 に答える