vue-cli+webpack在生成的項目中使用bootstrap方法(一)


在一個html頁面中加入bootstrap是很方便,就是一般的將css和js文件通過Link和Script標簽就行。

那么在一個用vue-vli生成的前端項目中如何加入?因為框架不一樣了,略微要適應一下。

 

腳手架生成項目

執行命令用webpack模板生成一個名為vuestrap的項目(名字任意)

vue init webpack vuestrap

 

在出現的各提示選項中,沒什么要求,為了方便,把不用的ESLint,unit tests,e2e都關掉(這些選項都隨意)。

? Project name vuestrap
? Project description A Vue.js project
? Author 省略
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Setup unit tests with Karma + Mocha? No
? Setup e2e tests with Nightwatch? No

選項選完,項目也就生成了。

 

執行命令,安裝腳手架創建的組件

npm install

 

安裝jquery

bootstrap是依賴jquery的,所以就先裝上jquery,這里用的版本是1.11.3。

稍后在配置的時候,是以webpack插件的方式進行打包,所以這里直接用npm進行安裝,因為插件方式打包的組件都是require進來的。

執行命令,並保存到package.json中

npm install jquery@1.11.3 --save-dev

注:如果想查看npm上jquery有哪些版本,可以執行命令:

npm view jquery versions

 

下載和安置bootstrap所需的文件 

下載bootstrap包,這里用的版本是3.3.0。

下載下來后將fonts,js,css文件夾分別放到項目目錄/src/assets下。

 

配置jquery 

將jquery以插件打包,需要為webpack的plugins進行插件設置。

在build/webpack.base.conf.js文件中,在整個配置對象的末尾增加plugins配置。

在webpack.base.conf.js中的配置項,可以在dev和build出來的pro版本中都有效。

下面的配置其實就是變量名的真正指向設置,這樣,在頁面中對jquery的各種名字的調用就會有效,否則bootstrap跑不起來。

  plugins: [
    new webpack.ProvidePlugin({
      $: "jquery",
      jQuery: "jquery",
      "windows.jQuery": "jquery"
    })
  ]

 

引用bootstrap 

在src/main.js文件的頂部加入如下對bootstrap主要文件的引用。

import './assets/css/bootstrap.min.css'
import './assets/js/bootstrap.min'

做完這個,也就配完了。

接下去試試看能不能用,就寫個簡單的頁面。

 

配置bootstrap

因為bootstrap除了js和css文件外,還有字體文件需要一並打包,默認生成的webpack.base.conf.js中的moudle->rules設定中都已經包含對字體文件的打包設置,所以無需修改,很人性啊。

  

驗證頁面

就在App.vue中寫一個頁面,放一個panel,button,modal。

<template>
  <div id="app">
    <div class='container'>
      <div class='row'>
        <div class='col-lg-4'>
          <h1>demo</h1>
        </div>

        <div class='col-lg-8'>
          <div class='panel panel-default' style='min-width:500px;box-shadow:4px 4px 10px #888888;'>
            <div class="panel-heading">
              <button id='btnCreate'>
                <span class="glyphicon glyphicon-plus"></span>
              </button>
              <span>&nbsp;&nbsp;&nbsp;</span>
            </div>
            <div class="panel-body">
              <div style='float: left;width:100%'>

                <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
                  Launch demo modal
                </button>

                <!-- Modal -->
                <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                  <div class="modal-dialog" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
                      </div>
                      <div class="modal-body">
                        ...
                      </div>
                      <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                        <button type="button" class="btn btn-primary">Save changes</button>
                      </div>
                    </div>
                  </div>
                </div>

              </div>
            </div>
          </div>
        </div>

      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'app'
}
</script>

<style>
#app {
  margin-top: 60px;
}
</style>

寫完后,執行命令,運行效果。

npm run dev

效果:

點擊按鈕,可以打開modal。

 

 

代碼

 

End


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM