在也個html頁面中加入bootstrap是很方便,就是一般的將css和js文件通過Link和Script標簽就行。 那麼在一個用vue-vli生成的前端項目中如何加入?因為框架不一樣了,略微要適應一下。 腳手架生成項目 執行命令用webpack模板生成一個名為vuestrap的項目(名字任意) 在 ...
在一個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 [email protected] --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> </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">×</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