照例先上官方文件: cn.vuejs.org/v2/guide/in…
- | UMD | CommonJS | ES Module (基於構建工具使用) | ES Module (直接用於瀏覽器) |
---|---|---|---|---|
完整版 | vue.js | vue.common.js | vue.esm.js | vue.esm.browser.js |
只包含執行時版 | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js | - |
完整版 (生產環境) | vue.min.js | - | - | vue.esm.browser.min.js |
只包含執行時版 (生產環境) | vue.runtime.min.js | - | - | - |
完整版與執行時版的區別在於,執行時版不包含編譯器
// 需要編譯器
new Vue({
template: '<div>{{ hi }}</div>'
})
// 不需要編譯器
new Vue({
render (h) {
return h('div', this.hi)
}
})
複製程式碼
如果在執行時版使用了template屬性,會報一下錯誤
[Vue warn] : You are using the runtime-only build of Vue where the template option is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
複製程式碼
使用import預設引入的是執行時版,可以通過import Vue form 'vue/dist/vue'
解決
在通過vue-cli create生成的專案中可以新建vue.config.js
module.exports = {
configureWebpack: {
resolve: {
alias: {
'vue$': 'vue/dist/vue'
}
}
}
}
複製程式碼