Angular 2アプリケーションでCodeMirror lintingを動作させようとしています。 CodeMirrorエディタは、(行番号、構文ハイライト、テーマなど)壮大に動作していますが、何らかの理由で動作するようになっていません。私はCodeMirror mode: 'application/json'
を使用しているので、javascriptリンターが必要な理由です。ここでCodeMirror lintingとJSHINTをAngular 2アプリケーションで動作させることはできません
は私が持っているものです。
app.component.html
<codemirror class="action-type-details-code-mirror" [(ngModel)]="code" [config]="config" name="codeEdit"></codemirror>
app.component.ts
import { Component } from '@angular/core'
import { CodemirrorComponent } from 'ng2-codemirror';
import 'codemirror/mode/javascript/javascript';
import 'codemirror/addon/lint/lint';
import 'codemirror/addon/lint/javascript-lint';
import { JSHINT } from 'jshint';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./styles.less']
})
export class AppComponent {
code = `<p>My HTML</p>\n<!-- hello -->\n<p>Your HTML</p>`
constructor() {
this.config = {
lineNumbers: true,
mode: 'application/json',
gutters: ['CodeMirror-lint-markers'],
theme: 'neo',
lint: true
};
}
package.json
リンティング機能がCodeMirrorエディタ上では動作しません何らかの理由"devDependencies": {
"@types/codemirror": "0.0.40"
},
"dependencies": {
"jshint": "^2.9.5",
"codemirror": "^5.26.0",
"ng2-codemirror": "^1.1.2",
}
app.module.ts
imports: [
/* ... */
CodemirrorModule,
],
styles.less
@import "~codemirror/theme/neo.css";
@import "~codemirror/lib/codemirror.css";
@import "~codemirror/addon/lint/lint.css";
。私はアプリケーションをデバッグし、問題をJSHintのロードまで絞り込んだ。問題は、JSHintがウィンドウで利用できないということです。 JSHintをインポートしてウィンドウで利用できるようにする方法はありますか?
ご協力いただければ幸いです。なし -
感謝
それは実際には、他のstackoverflowの質問に私の答えですが、これは私のために問題を解決したものが正しいです。 – Cristophs0n
私はこれを試しましたが、まだ問題がありました。これを修正するために、 '(ウィンドウ).JSHINT = require( 'jshint').JSHINT;'コンポーザーの内部ではインポートされていません。たぶんこれは他の人にとっても役立つかもしれません。 –