在app.tsx中取自fountain-webapp typescript MVC样本(http://fountainjs.io/),导入包含以下行:
import {IDispatch} from '~react-redux~redux';
Visual Studio 2017强调了这一行(“找不到模块”),但它确实可以在浏览器中使用。我以前从未见过这种语法,也不知道它试图做什么?
这里有一张开放式机票: https://github.com/FountainJS/generator-fountain-react/issues/70
这是一个打字稿文件和 import
看起来像一个 typings
生成模块IMO。
我不太熟悉打字稿但是 typings
大概 用这个 ~
(波浪号)格式,以检查特定命名空间中的模块依赖性。
根据 Blake Embrey,在 这个 关于打字github回购的帖子:
它是依赖项的命名空间。
蒂尔德(~
)与...一起使用 的WebPack 意味着执行查找 node_modules
解决路径。
换句话说,它是预定义的 别号 解决了 node_modules
。
import { IDispatch } from '~react-redux~redux';
相当于
import { IDispatch } from 'relative_path_to_node_modules/react-redux~redux';
编辑:不幸的是,我不能引用任何关于此的文档,它是基于经验,欢迎您编辑这篇文章更准确的描述。
现在我注意到了 ~redux
部分也是如此,所以你可能想看一下 其他答案因为我也很困惑。