所以我有一个项目看起来是这样的:
app/ bin/ lib/ src/ main/ submodule.ts utilities/ common.ts main.ts tsconfig.json gulpfile.js
import {common} from '/utilities/common';
实用工具/通用
/src/Utilities/Common
/app/src/utilities/common
这些都没用。../utilities/common
的相对路径确实可以工作,但是公共模块的相对路径是维护的噩梦。
值得注意的是,我刚刚从TS 1.5更新到1.6:使用utilities/common
已经在1.5中工作过。不过,我在1.6音符中找不到任何关于这方面的突破性改变的提及。
>
tsconfig.json
{ "compilerOptions": { "module": "commonjs", "target": "es5", "experimentalDecorators": true, "emitDecoratorMetadata": true, "noEmitOnError": true }, "filesGlob": [ "./**/*.ts", "!./typings/**/*.ts" ] }
gulpfile.js
var gulp = require('gulp'); var ts = require('gulp-typescript'); var less = require('gulp-less'); var sourcemaps = require('gulp-sourcemaps'); var merge = require('merge2'); var path = require('path'); var tsProject = ts.createProject('src/tsconfig.json', { noExternalResolve: true }); gulp.task('html', function () { gulp.src([ 'src/**/*.html', ]) .pipe(gulp.dest('bin')); }); gulp.task('typescript', function () { tsProject.src() .pipe(sourcemaps.init()) .pipe(ts(tsProject)) .js .pipe(sourcemaps.write()) .pipe(gulp.dest('bin')); }); gulp.task('less', function () { gulp.src([ 'src/**/*.less', ]) .pipe(sourcemaps.init()) .pipe(less()) .pipe(sourcemaps.write()) .pipe(gulp.dest('bin')) }); gulp.task('default', ['html', 'typescript', 'less']);
终于解决了这个。根据最新情况,1.6更改了模块分辨率,使其与节点的行为类似。我还没有研究节点的模块解析,以确定是否可以使用该行为进行修复,但我找到了一个变通方法:
可以通过在tsconfig.json
中指定“moduleResolution”:“classic”
来触发旧的行为。
问题内容: 这有效: 但这不是: 我越来越: 是否可以(和/或如何)使用“动态”路径?(不对路径进行硬编码或依靠相对路径)。 问题答案: 不,这是不可能的。ES6模块需要能够静态解析其依赖关系,而无需执行模块代码,以便语句能够可靠地工作。模块说明符必须是字符串文字。 但是,您选择的模块加载器应支持使用变量名动态加载模块。但是,您将无法在模块范围中获得绑定标识符(并且无法重新导出它),通常只能在回调
主要内容:什么是当前工作目录,什么是绝对路径与相对路径,Python处理绝对路径和相对路径在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。 什么是当前工作目录 每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。 注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。 在 Python 中,利用 os.getcwd() 函数可以取得当前工作路径的字
在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在《 Linux文件系统的层次结构》中提到的 /home/cat 就表示的是 cat 文件所存放的位置。只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。 指明一个文件存放的位置,有 2 种方法,分别是使用 绝对路径和 相对路径。 我们知道,Linux 系统中所有的文件(目录)都被组织成以根
本文向大家介绍Linux 相对路径和绝对路径的使用,包括了Linux 相对路径和绝对路径的使用的使用技巧和注意事项,需要的朋友参考一下 01. 概述 绝对路径和相对路径在shell环境中经常遇到,各有用处。有时候相对路径比较方便,有时候绝对路径比较方便。 02. 绝对路径(Absolute Pathname) 绝对路径必定由**/**开头 绝对路径是为档案/文件的所在位置做指向 在任何时候,都可以
本文向大家介绍相对路径和绝对路径的写法总结,包括了相对路径和绝对路径的写法总结的使用技巧和注意事项,需要的朋友参考一下 在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。 只要在字符串前加上@即可直接使用“\”。所以上面的路径在C#中应该表示为“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。 相对路径使用“/”字符作为目录
我有一本书。节点js(07.10.19版本的node.js的最新版本)应用程序中的ts文件,带有导入节点模块而无默认导出。我使用这种结构: