我有一個使用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文件由三種類型的頂級語言塊組成:,