有没有办法在他们的原生打字稿而不是javascript中安装打字稿npm软件包以便阅读源代码?

时间:2017-04-26 16:03:45

标签: typescript npm

我的术语可能不正确,我承认我不知道在使用类型编写的库如何在安装到node_modules文件夹之前将其编译为javascript的整个过程,但是:

来自PHP背景我习惯于能够深入了解我在vendors文件夹中通过composer下载的任何库,并查看库中编写的实际 php代码

在我目前的Angular 2项目中,当我下载我得到的打字稿库时,我不知道正确的术语,但它基本上是一个抽象类或某种合同(我猜一个类声明?):

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"],

是否有可能将参数传递给npm所以这个库只会在typescript中下载,我会让webpack将它编译成js(当然纯粹用于开发目的)所以我可以浏览实际的我在开发时的来源?

现在,每当我想阅读源代码时,我必须浏览github。这是怎么做的?

1 个答案:

答案 0 :(得分:2)

没有。如果一个模块发布到npm而没有可用的源,那就是它。您必须在github上查看模块源代码(或者在任何地方)。

您可以通过github(npm install username/repo-name)安装,以便在您的node_modules中获取它们的repo,但这可能不包含已编译的JS。