打字稿:找不到姓名'要求'

时间:2015-10-28 21:06:39

标签: angularjs visual-studio typescript

我正在尝试使用链接(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;
}

1 个答案:

答案 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

相关问题