我在我的一个CMS应用程序中使用CodeMirror编辑器。有没有人有任何关于将打字稿linter合并到CodeMirror中的建议/经验?
P.S。我知道ts lint https://www.npmjs.com/package/tslint但是如何将其结合起来并不明显。
答案 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
完成编码后,您可以使用Gulp和gulp-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插件包装成更好的东西,比如基于承诺的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