三种加载typescript模块依赖的方式有什么区别?

28

以下两种方式在加载Typescript模块依赖时有什么区别?

/// <amd-dependency path="someFile"/>

/// <reference path="someFile.ts" />

import someFile = require("someFile");

你读过这个吗?https://typescript.codeplex.com/wikipage?title=Modules%20in%20TypeScript - Ryan Cavanaugh
但是 <amd-dependency path=" "> 呢? - Nefarious
1个回答

22

涵盖内容:https://typescript.codeplex.com/wikipage?title=Modules%20in%20TypeScript

免责声明:以下是我的强烈意见: https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

import someFile = require("someFile");

这应该是您主要的导入方式。在JS库中使用此代码,例如 import $ = require("jquery"); ,并且在自己的文件中使用其相对文件变体,例如 import someFile = require("./someFile");

/// reference path="someFile.ts" /

仅用于从.d.ts文件和您自己的globals.d.tsvendors.d.tstsd.d.ts中导入类型信息

amd-dependency path="someFile"

除非您想将CSS/images中的东西导入到您的TS中,否则不需要使用此功能。


使用 AMD,导入 $ = require("jquery");。 - Paleo
我已经阅读了你的文档。有一个问题:/// <reference 在描述外部模块时仍然有用,对吗? - Paleo
1
不需要了。/// <reference已经不再需要了。tsconfig.json将成为新的编译上下文 - basarat
2
谢谢,tsconfig.json 真是太棒了! - Paleo
8
我正在尝试弄清楚为什么没有提到这种样式/示例:import {Injectable} from "@angular/core"?这不是针对模块的,只是针对类吗?还是它们是同一件事情? - HK1
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接