<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Vue結合Webpack 后續的開發,會采用Vue組件化開發的方式,而且每個組件都是一個單文件形式后綴名為(.vue)。寫法如下: ``` <template> <div class="example">{{ msg }}</div> </template> <script> export default { data () { return { msg: 'Hello world!' } } } </script> <style> .example { color: red; } </style> ``` 會發現 `結構` `樣式` 和 `功能` 都分開。這樣易于管理。那么對于這種后綴名為`.vue`的文件該如何處理呢?Vue官方給我們提供了`Vue Loader` ## 配置 你應該將`vue-loader`和`vue-template-compiler`一起安裝。 ``` npm install -D vue-loader vue-template-compiler vue-style-loader ``` ### webpack 配置 Vue Loader 的配置和其它的 loader 不太一樣。除了通過一條規則將`vue-loader`應用到所有擴展名為`.vue`的文件上之外,請確保在你的 webpack 配置中添加 Vue Loader 的插件: ``` // webpack.config.js const VueLoaderPlugin = require('vue-loader/lib/plugin') module.exports = { mode: 'development', module: { rules: [ { test: /\.vue$/, loader: 'vue-loader' }, // 它會應用到普通的 `.js` 文件 // 以及 `.vue` 文件中的 `<script>` 塊 { test: /\.js$/, loader: 'babel-loader' }, // 它會應用到普通的 `.css` 文件 // 以及 `.vue` 文件中的 `<style>` 塊 { test: /\.css$/, use: [ 'vue-style-loader', 'css-loader' ] } ] }, plugins: [ // 請確保引入這個插件來施展魔法 new VueLoaderPlugin() ] } ``` ## 打包項目錯誤信息 打包過程沒有任何錯誤(因為只是多打包了一個vue的js文件而已) 。但是運行程序,沒有出現想要的效果,而且瀏覽器中有報錯 ![](https://img.kancloud.cn/04/5f/045f37b51b2bd781e9f63bf9b1a64fc9_815x162.png) 這個錯誤說的是我們使用的是runtime-only版本的Vue,什么意思呢? 這里我只說解決方案:[Vue不同版本構建](https://cn.vuejs.org/v2/guide/installation.html#%E8%BF%90%E8%A1%8C%E6%97%B6-%E7%BC%96%E8%AF%91%E5%99%A8-vs-%E5%8F%AA%E5%8C%85%E5%90%AB%E8%BF%90%E8%A1%8C%E6%97%B6),后續我具體講解`runtime-only**`僅有運行時\*\*和`runtime-compiler運行時編譯`的區別。 因為運行時版本相比完整版體積要小大約 30%,所以應該盡可能使用這個版本。如果你仍然希望使用完整版,則需要在打包工具里配置一個別名: :-: ![](https://img.kancloud.cn/62/2d/622db180601d77a5b4df63e8a85503a4_715x350.png) ``` // 需要編譯器 new Vue({ template: '<div>{{ hi }}</div>' }) // 不需要編譯器 new Vue({ render (h) { return h('div', this.hi) } }) ``` ## 那如何解決 #### webpack ``` module.exports = { // ... resolve: { alias: { //別名 'vue$': 'vue/dist/vue.esm.js' } } } ``` ## 思考題 ### 正常運行之后,我們來考慮另外一個問題: >[warning] 如果我們希望將data中的數據顯示在界面中,就必須是修改index.html > 如果我們后面自定義了組件,也必須修改index.html來使用組件 > 但是html模板在之后的開發中,我并不希望手動的來頻繁修改,是否可以做到呢? ### src/main.js ``` import Vue from 'vue'; Vue.component('my-component',{ template:`<div> 你好 </div>` }) new Vue({ el:'#app', }); ``` ## src/index.html ``` <div id="app"> <my-component></my-component> </div> ``` >[success] 解決 > 通過`template` 屬性來進行解決。這樣我們就不用修改`html` 結構 ``` src/index.html <div id="app"></div> src/main.js import Vue from 'vue'; Vue.component('my-component',{ template:`<div> 你好 </div>` }) new Vue({ el:'#app', template: `<my-component></my-component>` }); ``` ### `el`屬性 在我們之前的學習中,我們知道el用于指定Vue要管理的DOM,可以幫助解析其中的指令、事件監聽等等。 且只有實例才具有這個屬性。組件是不具備這個屬性的。 ### `template`屬性的作用 而如果Vue實例中同時指定了template,那么template模板的內容會替換掉掛載的對應el的模板。 對于template復雜內容,之后會用`.vue`文件來創建組件。會分成三部分書寫 `template script style`.管理和維護更方便。 ## .vue文件組件化 ### 定義組件 `src/components/MyCom.vue` ``` <template> <div class="example">{{ msg }}</div> </template> <script> export default { name:'', data () { return { msg: 'Hello world!' } } } </script> <style> .example { color: red; } </style> ``` ### 使用組件 `src/main.js` ``` import MyCom from './components/MyCom.vue' new Vue({ el:'#app', template: `<my-com></my-com>` }); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看