
想要在 typescript 中扫描一个目录, 然后导入该目录下的所有文件, 但是这样的话, 文件路径是运行时确定的, 有什么办法吗?
1 azh7138m 2019 年 2 月 16 日 via Android 按照 js 的模式,就 require ; 或者做 code generate ?文件在打包的时候就要确定有哪些文件 |
2 VDimos 2019 年 2 月 16 日 via Android 用 webpack 才能实现,和 js 一样,用 import + async 或者 require 实现 |
3 menyakun 2019 年 2 月 16 日 import('./dir/' + filename).then(...) webpack 会帮你好这件事,但这样的话这个目录下所有文件都会打包到 bundle 里面 |
6 azh7138m 2019 年 2 月 16 日 via Android @Sparetire 那没有必要强类型,或者说这里强类型的意义何在。。。 加载路由肯定是框架做的吧,控制器算业务的吧,按道理也不会耦合,用 any 就行,或者直接当 baseController 用就行吧 |
7 vghdjgh 2019 年 2 月 16 日 ES static import 必须是确定的模块路径,ES dynamic import 还不被 nodejs 默认支持( Experimental https://nodejs.org/dist/latest-v11.x/docs/api/esm.html ),所以默认只能用 require,需要类型信息的话用 as 来标注 |
8 momocraft 2019 年 2 月 16 日 文件名都不知道型自然更不知道 你仍然可以 require, 只是 require 得到的西自己解型 |
11 azh7138m 2019 年 2 月 16 日 via Android 哦,想错了,node 上面文件还没加载进来,忽略我吧 |
12 VDimos 2019 年 2 月 16 日 via Android 静态类型必须在编译时确定,没有指定路径是无法确定的,所以不能实现你的需求 |
13 thomaspaine 2019 年 2 月 17 日 @Sparetire require 会丢类型,但是你需要批量 require 的地方,比如统一注册路由信息,需要类型信息吗? |