2016-10-10 3 views

Antwort

1

Ich gehe davon aus der folgenden Verzeichnisstruktur

├── lib 
│   ├── jslib.d.ts 
│   └── jslib.js 
├── src 
   └── t.ts 

jslib.js

var jslib = jslib || (function() { 
    var publicMethods = { 
    encript: function() { 
     return 
    } 
    }; 

    return publicMethods; 
})(); 

module.exports = jslib; 

jslib.d.ts

declare namespace jslib { 
    function encript(): void; 
} 

export = jslib; 

t.ts

import jslib = require('../lib/jslib'); 

jslib.encript(); 

prüft mit node_modules/.bin/tsc --traceResolution

======== Resolving module '../lib/jslib' from '/home/zjk/dev/webnote/ts1/src/t.ts'. ======== 
Explicitly specified module resolution kind: 'NodeJs'. 
Loading module as file/folder, candidate module location '/home/zjk/dev/webnote/ts1/lib/jslib'. 
File '/home/zjk/dev/webnote/ts1/lib/jslib.ts' does not exist. 
File '/home/zjk/dev/webnote/ts1/lib/jslib.tsx' does not exist. 
File '/home/zjk/dev/webnote/ts1/lib/jslib.d.ts' exist - use it as a name resolution result. 
Resolving real path for '/home/zjk/dev/webnote/ts1/lib/jslib.d.ts', result '/home/zjk/dev/webnote/ts1/lib/jslib.d.ts' 
======== Module name '../lib/jslib' was successfully resolved to '/home/zjk/dev/webnote/ts1/lib/jslib.d.ts'. ======== 

Es ist entscheidend, jslib.js und jslib.d.ts im gleichen Verzeichnis zu setzen.

+0

Danke zjk. Ich habe zwei dumme Fragen 1) in Javascript, wie man var jslib = jslib || versteht Funktion(), ich verstehe nicht, warum jslib nach "=" 2) in Ihrer Antwort wieder auftauchen muss, was bedeutet const jslib? Entschuldigung, ich bin zu beiden Skripten grün. –

+0

@SkyLine. Gute Fragen! Ich bin kein Experte. Ich werde in meiner Antwort – zjk

+0

aktualisieren Ich habe meine Antwort nicht versucht. Ich werde es später erweitern. Wie für 'var jslib = jslib || function() 'kann es verhindern, dass die gesamte jslib neu definiert wird, wenn sie bereits definiert ist. – zjk

Verwandte Themen