Karma抛出错误:无法加载"ng-html2js",它未注册

Ph0*_*n1x 36 angularjs karma-runner ng-html2js

我跑的时候遇到错误karma start:

$ karma start
INFO [karma]: Karma v0.10.2 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
WARN [preprocess]: Can not load "ng-html2js", it is not registered!
  Perhaps you are missing some plugin?

...
Run Code Online (Sandbox Code Playgroud)

但是在我的包文件中,"karma-ng-html2js-preprocessor": "*",以及包含此预处理器代码的文件夹node_modules.

关于如何解决问题的任何想法?

Ph0*_*n1x 50

在我的情况下,问题与缺乏karma-ng-html2js-preprocessor内部业力配置plugins部分有关.在教程中,我看到你不需要添加'ng-html2js'内部插件,但对我而言没有它就无法工作.


M.K*_*afi 22

如果您正在启动并运行全局安装的Karma,一个安装了-g标志的安装,并且在没有指定路径的情况下运行,即karma start path/to/config.js确保插件也是全局安装的,即npm install -g karma-ng-html2js-preprocessor.

如果您正在运行本地安装的Karma,即path/to/karma start path/to/config.js确保插件也在本地安装到该应用程序.


Ada*_*ner 9

查看文档中的加载插件.

如果省略该plugins属性,它将尝试加载以下所有插件:

  1. 带有前缀karma-.
  2. karmanpm模块的兄弟姐妹.

因此,如果您的文件结构是:

- node_modules
  - karma
  - karma-chrome-launcher
  - karma-firefox-launcher
Run Code Online (Sandbox Code Playgroud)

...因为karma-chrome-launcher并且karma-firefox-launcherkarma正在使用的模块的兄弟姐妹,并且因为它们都是从它们开始,karma-它们将被自动加载.


但要小心 - 如果你确实plugins定义了属性,它只会加载定义的东西.IE浏览器.如果你有plugins: ['karma-chrome-launcher'],它将无法加载karma-firefox-launcher.


有些问题要问自己:

  1. 您使用的是本地版本karma还是全球版本?
  2. 一切都是最新的吗?如果没有尝试npm updatenpm uninstall- > npm install.
  3. 你有全球版本karma-x覆盖本地版本吗?