2017-04-26 5 views
1

私の専門用語が正しくない可能性がありますし、私はそれがnode_modulesフォルダにインストールされる前typecriptで書かれたライブラリは、JavaScriptに自分自身をコンパイルする方法の全体のプロセスを知っていないが認める:私はソースコードを読む目的で、typescript npmパッケージをjavascriptではなくnative typescriptにインストールする方法はありますか?

は、PHPの背景から来ます「私は私のvendorsフォルダに作曲を経由してダウンロードしたライブラリに掘ると、ライブラリが書き込まれた実際 PHPコードを見ることができることに慣れメートル。

私の現在の角度2プロジェクトで、私はtypescriptですライブラリをダウンロードするとき、私はget、私は正しい言葉を知らないが、基本的に抽象クラスまたは何らかの種類の契約(私はクラス宣言を推測する):

その後
export declare class FormGroup extends AbstractControl { 
    controls: { 
     [key: string]: AbstractControl; 
    }; 
    constructor(controls: { 
     [key: string]: AbstractControl; 
    }, validator?: ValidatorFn, asyncValidator?: AsyncValidatorFn); 
    /** 
    * Registers a control with the group's list of controls. 
    * 
    * This method does not update value or validity of the control, so for 
    * most cases you'll want to use {@link FormGroup.addControl} instead. 
    */ 
    registerControl(name: string, control: AbstractControl): AbstractControl; 
    /** 
    * Add a control to this group. 

jsファイルにコンパイルされたクラス:

export var FormGroup = (function (_super) { 
    __extends(FormGroup, _super); 
    /** 
    * @param {?} controls 
    * @param {?=} validator 
    * @param {?=} asyncValidator 
    */ 
    function FormGroup(controls, validator, asyncValidator) { 
     if (validator === void 0) { validator = null; } 
     if (asyncValidator === void 0) { asyncValidator = null; } 
     _super.call(this, validator, asyncValidator); 
     this.controls = controls; 
     this._initObservables(); 
     this._setUpControls(); 
     this.updateValueAndValidity({ onlySelf: true, emitEvent: false }); 

次にマッピング:

{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../modules/@angular/forms/src/model.ts"], 

はので、このライブラリはちょうどtypescriptですでダウンロードしますNPMにパラメータを渡すことが可能であり、私はwebpackをjs(純粋に開発目的のために)にコンパイルするようにします。私が開発しているときに実際にソースをブラウズできますか?

今はいつも私はソースを読む必要がありますが、私はgithubを参照する必要があります。これはそれを行う方法ですか?

+1

DefinitelyTypedから '@ types/whatever'をインストールすると、構文ハイライトに役立ちます。' .d.ts'モジュール定義が公開されます。あなたがそれを消費することができないならば、スペースを取るためにソースコードをダウンロードする理由はありません。そのため、パッケージ管理者は通常、ソースを無視し、 '.npmignore'で配布コードを公開します。 – Brian

答えて

2

いいえいいえ、ソースがないnpmにモジュールが公開されている場合は、それだけです。あなたはgithub上のモジュールのソース(またはどこにいても)を見なければなりません。

github(npm install username/repo-name)からインストールすると、node_modulesにリポジトリを取得できますが、コンパイル済みのJSは含まれていない可能性があります。

関連する問題