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 完美配合。

唯一的问题是 karma 在运行测试时不再能够找到 jasmine。我将日志级别设置为调试,看起来工作设置运行:

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 回答