gpt4 book ai didi

typescript - 为了阅读源代码,有没有办法在他们的原生 typescript 而不是 javascript 中安装 typescript npm 包?

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:01 25 4
gpt4 key购买 nike

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

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

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

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。这是怎么做到的?

最佳答案

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

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

关于typescript - 为了阅读源代码,有没有办法在他们的原生 typescript 而不是 javascript 中安装 typescript npm 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43639311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com