source

카르마가 오류 발생: "ng-html2js"를 로드할 수 없습니다.등록되지 않았습니다.

gigabyte 2023. 4. 4. 21:21
반응형

카르마가 오류 발생: "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?

...

하지만 내 패키지 파일에는"karma-ng-html2js-preprocessor": "*",이 프리프로세서의 코드를 가진 폴더가 있습니다.node_modules.

그 문제를 어떻게 해결할지 생각나는 게 있나요?

내 경우, 문제는 다음 중 하나와 관련이 있다.karma-ng-html2js-preprocessor내부 카르마 설정plugins를 참조해 주세요.튜토리얼에서 본 바로는 추가할 필요가 없습니다.'ng-html2js'플러그인이 없으면 작동하지 않습니다.

Karma의 글로벌 설치를 시작 및 실행하고 있는 경우, Karma는-g경로를 지정하지 않고 실행됩니다(예: 지정하지 않고 실행됩니다.karma start path/to/config.js플러그인이 글로벌하게 인스톨 되어 있는 것을 확인합니다.npm install -g karma-ng-html2js-preprocessor.

Karma 로컬 설치를 실행하는 경우, 예를 들어path/to/karma start path/to/config.js플러그인이 해당 응용 프로그램에 로컬에도 설치되어 있는지 확인합니다.

문서에서 플러그인 로딩을 확인하십시오.

를 생략하면plugins다음과 같은 모든 플러그인이 로딩됩니다.

  1. 접두사karma-.
  2. 의 형제자매karmanpm 모듈

따라서 파일 구조가 다음과 같은 경우:

- node_modules
  - karma
  - karma-chrome-launcher
  - karma-firefox-launcher

...부터karma-chrome-launcher그리고.karma-firefox-launcher의 형제지간이다.karma사용 중인 모듈입니다.두 모듈 모두 로 시작되므로karma-자동으로 로드됩니다.


하지만 조심해요. 만약 당신이 이 모든 을 가지고 있다면plugins정의된 속성만 로드됩니다.즉,plugins: ['karma-chrome-launcher']로딩되지 않습니다.karma-firefox-launcher.


자신에게 묻고 싶은 몇 가지 질문:

  1. 의 로컬 버전을 사용하고 있습니까?karma아니면 글로벌 버전?
  2. 모두 최신 상태입니까?시도하지 않으면npm update또는npm uninstall->npm install.
  3. 의 글로벌 버전이 있습니까?karma-x지역보다 우선시하는 것인가요?

나는 이것에 대해 너무 많은 다양한 종류의 답을 봐왔다.그리고 무슨 일이 일어나고 있는지 알기 위해 모든 방법을 강구해야 했습니다.나는 없었다.plugins:내 섹션karma.conf.js어느 하나.

그래서 나는 프로젝트가 있다.AwesomeKarmaTests같은 이름의 폴더 안에 있는 모든 파일이 들어 있습니다.

AwesomeKarmaTests
\package.json
\karma.conf.js
\node_modules
            \karma
            \karma-jasmine
            ...

node_modules디렉토리가 작성되는 것은 당연합니다.cd AwesomeKarmaTests실행하다npm install.

npm그 후, 그 내용을 조사합니다.package.json에 액세스 해, 리스트 되고 있는 모든 패키지를 인스톨 해, 필요에 따라서 그 외의 의존 관계를 인스톨 합니다.

내 콘텐츠package.json

{
  "name": "AwesomeKarmaTests",
  "version": "1.0.0",      
  "devDependencies": {
    "karma": "^1.6.0",
    "karma-jasmine": "^1.1.0",
    "karma-junit-reporter": "^1.2.0",
    "karma-ng-html2js-preprocessor": "^1.0.0",
    "karma-phantomjs-launcher": "^1.0.4"
  }
}

이 문제가 발생했습니다(Can not load "ng-html2js")의 첫 번째 이유로karma글로벌하게 인스톨 되어 있습니다.글로벌 karma인스톨에서는, 를 검색하려고 합니다.karma-ng-html2js-preprocessor글로벌하게 패키지화되어 있습니다.또한 프리 프로세서를 글로벌하게 설치하지 않았기 때문에 찾을 수 없습니다.

나는 그 일인지 이해할 수 .devDependencies package.json 이미 되어 있습니다.node_modules프로젝트의 루트 폴더 안에 디렉터리입니다.디렉토리로 이동합니다. I kept running 나는 계속 달렸다.karma start부에서AwesomeKarmaTests실행 중인 업보드의 글로벌 설치였다.Karma가 글로벌하게 설치되고 있는 것을 깨닫지 못한 채 폴더를 작성했습니다(기대됩니다).

그러나 , 제거 후 인 스 톨 후)karma from my global installation I started getting 글로벌 설치에서 얻은 정보입니다./c/Users/fastasticUser/AppData/Roaming/npm/karma: No such file or directory오류입 내가 실수를 깨달았을 때 내가 실수를 깨달았다.그때 나는 내 실수를 깨달았다.

그 후 접근 방식을 바꿨습니다.다음 명령을 사용하여 테스트를 시작하고 카르마의 로컬 설치 경로를 명시적으로 지정했습니다.

./node_modules/karma/bin/karma start karma.conf.js부에서AwesomeKarmaTests디렉터리디렉토리로 이동합니다.다른 게시물에 언급했듯이, 업산은 형제 패키지 및 플러그인을 뽑았다.그리고 몇몇 다른 게시물에서 언급했듯이, 카르마는 형제 패키지와 플러그인을 선택했다.

따라서 로컬버전을 사용하는 것을 잊지 마세요.karma로컬에 설치된 다른 플러그인 또는 패키지에 의존하는 경우 패키지, 그렇지 않은 경우karma원하는 작업을 특정하는 데 어려움이 있습니다.

언급URL : https://stackoverflow.com/questions/19069183/karma-throws-error-can-not-load-ng-html2js-it-is-not-registered

반응형