[英]How to define a typescript import path relative to some root (using webpack)?
[英]Typescript import using path from some root
有沒有簡單的設置方法,以便我可以從某個根點開始import
?
例如:
- module1
\- file1.ts
- module2
\- file2.ts
在file2中我想import
file1
import { foo } from '../module1/file1'
我想做的是:
import { foo } from 'src/module1/file1'
Angular2以某種方式使用它(參見https://github.com/angular/angular/blob/master/modules/angular2/src/core/compiler/compiler.ts )。 我查看了他們的構建過程,但它太復雜了,我不確定他們是如何啟用它的。
所有ES6導入都是相對的,angular2使用systemjs來處理所有導入/導出。 在systemjs配置中,您可以定義一個地圖。 (我不會去那里)
你必須記住ES6中的導入只是加載javascript文件,所以如果src是你的root,你應該只能從/ src / module1 / files導入
https://www.npmjs.com/package/app-module-path似乎是節點的最佳解決方案。
更新:
我這樣用它
root
\- module1
| \- file1.ts
\- module2
| \- file2.ts
\- main.ts
main.ts
是應用程序的入口點,這是前兩行:
import * as path from 'path';
require('app-module-path').addPath(path.resolve(__dirname, '..'));
然后從module2/file2.ts
我可以這樣做:
import { Stuff } from 'root/module1/file1';
我正在使用Angular CLI及其生成的標准結構。
所以我使用的一切都在src/app
。
我的主要HTTP服務位於src/app/services/httpService.ts
。
為了獲得導入這項服務,我使用:
import { HttpService } from 'app/services/httpService'
我不確定這是否依賴於Angular CLI所做的任何特殊配置(並且我發現此問題發布時我還沒有認識到Angular CLI)但是在您的環境中值得一試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.