CodeMirror的typescript linter

时间:2015-10-12 11:11:02

标签: typescript codemirror

我在我的一个CMS应用程序中使用CodeMirror编辑器。有没有人有任何关于将打字稿linter合并到CodeMirror中的建议/经验?

P.S。我知道ts lint https://www.npmjs.com/package/tslint但是如何将其结合起来并不明显。

2 个答案:

答案 0 :(得分:1)

这不应该是一个问题,您需要做的就是安装tsd

$ npm install -g tsd

在项目中安装CodeMirror类型定义:

# from your project folder
$ tsd install codemirror --save

这将创建一个名为typings的文件夹,其中包含一个字段codemirror.d.ts

然后,您可以在调用CodeMirror API的TypeScript文件中添加对此文件的引用:

/// <reference path="../typings/codemirror/codemirror.d.ts" />

// USE CODE MIRROR HERE

完成编码后,您可以使用Gulpgulp-tslint

# npm install gulp gulp-tslint vinyl-source-stream vinyl-buffer --save-dev

创建gulpfile.js

var gulp        = require("gulp"),
    source      = require("vinyl-source-stream"),
    buffer      = require("vinyl-buffer"),
    tslint      = require("gulp-tslint");


gulp.task("lint", function() {
  return gulp.src([
                __dirname + "/source/**/**.ts", // Path to your TS files
              ])
             .pipe(tslint())
             .pipe(tslint.report("verbose"));
});

最后运行Gulp任务:

$ gulp lint

如果您需要Gulp的其他帮助,请查看Official Getting Started

答案 1 :(得分:1)

您需要使用lint插件:http://codemirror.net/doc/manual.html#addon_lint来提供来自tslint -> code mirror

的lint错误

更多

你甚至可以将lint插件包装成更好的东西,比如基于承诺的linter(警告复杂的代码,但只是演示一些有用的东西)https://github.com/basarat/tsb/blob/master/src/app/codemirror/codeEditor.tsx / https://github.com/basarat/tsb/blob/master/src/app/codemirror/addons/linter.ts