【发布时间】:2018-06-05 00:04:01
【问题描述】:
我正在尝试创建一个简约的设置并希望使用上述功能。所以在我的 JavaScript 代码中我有一个:
<script type="module" src="./myapp.js"></script>
加载 myapp.js 模块。在 myapp.js 中,我想创建一个 Vue 组件。当然,我想用 TypeScript (myapp.ts) 编写这个组件并将其转换为 js。但是,要在 .ts 代码中获取 typeinfo,我必须像这样导入 Vue 类型:
import Vue from 'vue'
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
});
当我转译此代码时,此代码以 es2015 模块语法维护(因为我的 tsconfig.settings),结果是此 javascript:
import Vue from 'vue';
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
});
并且浏览器不接受这个命名导入。
问题是:(如何)我可以导入导出的类型而不使用上述语句导入它。我尝试了 /// 语法,但类型仍然不可用。这是因为类型是显式导出的,因此需要使用导入语法导入?
有没有办法在不导入的情况下获取类型?有没有办法使用命名导入来获取类型但排除该行进行编译?是否有其他方法可以实现这一点(无需 webpack 或其他设置)?
谢谢 约翰。
【问题讨论】:
标签: typescript vue.js typescript-typings es6-modules