模块引用中的Typescript根表示法
Typescript中是否有斜杠符号来表示应用程序的根。例如,如果我有这样的子模块模块引用中的Typescript根表示法,typescript,Typescript,Typescript中是否有斜杠符号来表示应用程序的根。例如,如果我有这样的子模块 root/common/mychildModule/myChildModule.ts 是否有引用根的根表示法,例如 import { myRootModule} from 'rootnotation/my-root-module'; 还是使用../../../my root模块执行此操作的唯一方法 这是我的tsconfig.js { "compilerOptions": { "target": "e
root/common/mychildModule/myChildModule.ts
是否有引用根的根表示法,例如
import { myRootModule} from 'rootnotation/my-root-module';
还是使用../../../my root模块执行此操作的唯一方法
这是我的tsconfig.js
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"noEmit": true,
"noEmitHelpers": true,
"importHelpers": true,
"strictNullChecks": false,
"baseUrl": "./src/app",
"lib": [
"dom",
"es6"
],
"typeRoots": [
"node_modules/@types"
],
"types": [
"hammerjs",
"jasmine",
"node",
"source-map",
"uglify-js",
"webpack"
]
},
"exclude": [
"node_modules",
"dist"
],
"awesomeTypescriptLoaderOptions": {
"forkChecker": true,
"useWebpackText": true
},
"compileOnSave": false,
"buildOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
我也有一个Tconfig的网页包
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"noEmit": true,
"noEmitHelpers": true,
"importHelpers": true,
"strictNullChecks": false,
"baseUrl": "./src/app/",
"lib": [
"es2015",
"dom"
],
"typeRoots": [
"node_modules/@types"
],
"types": [
"hammerjs",
"node"
]
},
"exclude": [
"node_modules",
"dist",
"src/**/*.spec.ts",
"src/**/*.e2e.ts"
],
"awesomeTypescriptLoaderOptions": {
"forkChecker": true,
"useWebpackText": true
},
"angularCompilerOptions": {
"genDir": "./compiled",
"skipMetadataEmit": true
},
"compileOnSave": false,
"buildOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
您可以在tsconfig.json中定义baseUrl:
您可以像在baseUrl中一样在任何地方导入模块。在您的情况下,您只需执行以下操作:
import { myRootModule } from 'my-root-module';
文档:谢谢@Saravana。我将baseurl添加为baseurl:./src/app,因为我的根模块位于其中。现在,当我在子模块中导入模块时,我得到了intellisense。但是,当我编译时,它试图在myChildModule文件夹中找到my根模块,导致找不到模块。你知道为什么它不在src/app下查找模块吗?你的tsconfig.json是什么样子的?嗨@Saravana我还添加了tsconfig.webpack.jsonI,你的配置文件没有任何问题。你能检查一下运行tsc是否会抛出错误吗?那么它可能与你正在使用的其他工具有关,而这些工具没有接收到这个配置。
import { myRootModule } from 'my-root-module';