typescript – 在Angular2(TS)中导入模块的选项
发布时间:2020-12-17 08:47:43 所属栏目:安全 来源:网络整理
导读:我知道有一些进展或至少计划( #5093,#5728)来改进typescript的模块路径映射,但我想知道我们目前的选择是什么(Angular2 beta.1,TypeScript 1.7,VS Code 0.10.5,nodejs 5.4,systemjs 0.19). 为了让每个人都满意(编译器,编辑器和浏览器),我使用以下语法导入模块
我知道有一些进展或至少计划(
#5093,#5728)来改进typescript的模块路径映射,但我想知道我们目前的选择是什么(Angular2 beta.1,TypeScript 1.7,VS Code 0.10.5,nodejs 5.4,systemjs 0.19).
为了让每个人都满意(编译器,编辑器和浏览器),我使用以下语法导入模块: // C:/~somepath~/project_name/src/scripts/app/components/search/search.component.ts import {Component} from 'angular2/core'; import {EmitterService} from '../../../core/services/emitter/emitter.service'; import {SearchService} from '../../../app/services/search/search.service'; 编译成 System.register(['angular2/core','../../../core/services/emitter/emitter.service'],function(exports_1) { 当我使用以下选项时 // tsconfig.json { "compilerOptions": { "target": "ES5","module": "system","moduleResolution": "node" ... } } 我想使用没有所有这些点的导入: import {EmitterService} from 'core/services/emitter/emitter.service'; 因为它变得非常丑陋,疯狂跟踪和噩梦移动模块.由于systemjs配置,它在浏览器中工作: // system.conf.js System.config({ map: { app: "/scripts/app",core: "/scripts/core",} } 我可以通过添加“isolatedModules”来“欺骗”编译器:对tsconfig.json是真的(没有它会抛出错误),但在Visual Studio代码中,找不到模块错误并且我丢失了代码提示.我听说在node_modules文件夹中有一些带有打字的解决方案,但是找不到任何有用的例子. 任何人都知道一种方法来配置所有这些优雅地协同工作? 谢谢.
只是为了跟进未来的访问者,这应该在TypeScript 2.0中修复.您正在寻找的配置是在tsconfig.json中设置baseUrl或paths属性.如果您无条件地希望将所有内容与脚本中的某个路径匹配,请使用以下内容:
{ "baseUrl": "./src/scripts" } 如果它只是您想要特别使用的核心和应用程序,请使用 { "baseUrl": "./src/scripts","paths": { "app/*": ["app/*"],"core/*": ["core/*"] } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读