我有一个使用Webpack构建的Vue站点。我有一个包含一个部件的打字稿文件:使用模板字符串预编译TypeScript Vue组件
// my-component.ts
import Vue = require('vue');
export default Vue.component("my-component", {
template: "<div>I am a component</div>"
});
当我尝试使用这个组件,我得到以下警告:
您使用的是仅运行时建立Vue公司的在模板选项不可用。可以将模板预编译为渲染函数,也可以使用编译器包含的构建。
现在:我该如何预编译这个模板?我知道我可以define a .vue
file甚至在<script></script>
里面使用TypeScript,但我宁愿用纯的TypeScript定义我的组件,以便在WebStorm中获得很好的TypeScript支持。
这可能吗?
(我知道我还可以用第二个选项去通过vue/dist/vue.js
创建编译器包括构建一个别名,但我觉得这给了我一个性能损失。最起码,它增加了20KB到。我的版本)
嘿,谢谢,我应该补充我的问题,我考虑过这个问题。但它可能会损害性能?除了在最终捆绑包大小中添加30kb ... – Maarten
是的,还有一点折衷,'Vue'在'standalone build'的运行时编译模板,所以您必须接受性能命中(在大多数情况下它可能可以忽略不计)。但是,如果性能问题更多,那么您应该考虑使用'.vue'文件并编译它们。内部'vue'将'.vue'文件编译成适用于'仅限运行时'版本的渲染函数。 –
编辑:它似乎不可能在其自己的.js文件中定义组件的脚本部分,然后在'.vue'文件中唯一的模板?因为那对我的情况来说是完美的。 https://vue-loader.vuejs.org/en/start/spec.html:'* .vue文件是一种自定义文件格式,使用类似HTML的语法来描述Vue组件。每个*。vue文件由三种类型的顶级语言块组成:,