ES6模块,VueJS和TypeScript

时间:2017-12-22 10:16:25

标签: typescript vue.js typescript-typings es6-modules

我正在尝试创建一个简约的设置,并希望使用上述功能..所以在我的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或其他设置)?

感谢名单 约翰。

1 个答案:

答案 0 :(得分:0)

您只需使用脚本标记加载vue.min.js即可创建最小的Vue应用。那么您不需要import Vue

<script src="https://cdn.jsdelivr.net/npm/vue"></script>

然后您可以使用

加载模块
<script type="module" src="mymodule.js"></script>
<script type="module" src="app.js"></script>

顺便说一下,这不是关于打字,而是关于导入允许你创建Vue组件的实际Vue代码。您根本不需要输入打字。