我正在尝试使用链接(Angularjs)中描述的类型定义文件https://www.npmjs.com/package/diff-match-patch。
请注意:我使用Visual Studio作为IDE
var DiffMatchPatch = require('diff-match-patch'); <- Error here
var dmp = new DiffMatchPatch();
app.constant("dmp",dmp);
但是,我收到此错误:
找不到姓名&#39;要求&#39;
这就是类型定义文件的结构:
declare module "diff-match-patch" {
type Diff = [number, string];
export class diff_match_patch {
static new (): diff_match_patch;
Diff_Timeout: number;
Diff_EditCost: number;
Match_Threshold: number;
Match_Distance: number;
Patch_DeleteThreshold: number;
Patch_Margin: number;
Match_MaxBits: number;
diff_main(text1: string, text2: string, opt_checklines?: boolean, opt_deadline?: number): Diff[];
diff_commonPrefix(text1: string, text2: string): number;
diff_commonSuffix(text1: string, text2: string): number;
diff_cleanupSemantic(diffs: Diff[]): void;
diff_cleanupSemanticLossless(diffs: Diff[]): void;
diff_cleanupEfficiency(diffs: Diff[]): void;
diff_cleanupMerge(diffs: Diff[]): void;
diff_xIndex(diffs: Diff[], loc: number): number;
diff_prettyHtml(diffs: Diff[]): string;
diff_text1(diffs: Diff[]): string;
diff_text2(diffs: Diff[]): string;
diff_levenshtein(diffs: Diff[]): number;
diff_toDelta(diffs: Diff[]): string;
diff_fromDelta(text1: string, delta: string): Diff[];
}
export var DIFF_DELETE: number;
export var DIFF_INSERT: number;
export var DIFF_EQUAL: number;
}
答案 0 :(得分:2)
我正在尝试使用链接(Angularjs)中描述的类型定义文件https://www.npmjs.com/package/diff-match-patch。
如果您在前端使用 npm模块文件,则需要使用webpack
之类的内容并使用--module commonjs
进行编译。
同时使用import/require
代替var/require
。更多:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html