vue cli4 中引用 bootstrap 框架的两种方法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wwwwzf

vue cli4 中引用 bootstrap 框架的两种方法

  •  
  •   wwwwzf
    zoomla 2020 年 2 月 11 日 3919 次点击
    这是一个创建于 2264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    bootstrap 前端框架,是目前全球最流行的前端样式。 由于目前网上没有一个基于 bootstrap v4.x 的与 vue cli 4.x 结合引用的教程,所以不才动手,整理一下,希望于大家有用。

    本教程同时还结合与 bootstrap 4 中文官方站 http://code.z01.com/v4 生态,将 zico 图标库一并讲解。

    方法一:在 Vue cli4 中,可以直接加载 BootstrapVue 插件,此插件引用后,则需要使用专用的标签来使用,比如导航栏则需要写作为:

    <b-navbar toggleable="lg" type="dark" variant="info"> <b-navbar-brand href="#">NavBar</b-navbar-brand> <b-navbar-toggle target="nav-collapse"></b-navbar-toggle> <b-collapse id="nav-collapse" is-nav=""> <b-navbar-nav> <b-nav-item href="#">Link</b-nav-item> <b-nav-item disabled="" href="#">Disabled</b-nav-item> </b-navbar-nav>
    <!-- Right aligned nav items --> <b-navbar-nav class="ml-auto"> <b-nav-form> <b-form-input size="sm" class="mr-sm-2" placeholder="Search"></b-form-input> <b-button size="sm" class="my-2 my-sm-0" type="submit">Search</b-button> </b-nav-form> <b-nav-item-dropdown text="Lang" right> <b-dropdown-item href="#">EN</b-dropdown-item> <b-dropdown-item href="#">ES</b-dropdown-item> <b-dropdown-item href="#">RU</b-dropdown-item> <b-dropdown-item href="#">FA</b-dropdown-item> </b-nav-item-dropdown> <b-nav-item-dropdown right> <!-- Using 'button-content' slot --> <template v-slot:button-content> <em>User</em> </template> <b-dropdown-item href="#">Profile</b-dropdown-item> <bdropdown-item href="#">Sign Out</b-dropdown-item> </b-nav-item-dropdown> </b-navbar-nav> </b-collapse> 
    </b-collapse></b-navbar>

    引用方法很方便,你即可以在 vue cli 中,直接点插件工具,然后搜索 @vue/cli-plugin-router,增加引用就可。 这样引用要注意,引用最后一步要修改文件,需要点击保存,否则就会失效。 QQ 截图 20200211174339.jpg

    或者你直接运行下面两条命令之一即可完成安装。 vue add bootstrap-vue npm i vue-cli-plugin-bootstrap-vue

    方法二:如果你对原生的 html 更熟悉,则可以采用手工方法,分别引入 Jquery、zico 和 Bootstrap

    先是在项目的根目录中运行 npm:

     #第一步,分别在项目文件目录运行 npm 获取四个插件(其中 bootstrap 需要引用 popper.js) npm installjquery --save-dev npm install zico -D npm install bootstrap -D npm install popper.js -D 

    然后在 src 目录下找到 main.js 操作:

     #第二步,在 main.js 中引用相关方法 import Vue from 'vue' import App from './App.vue' import router from './router' // 自定义引用 bootstrap 和 zico import "bootstrap/dist/css/bootstrap.min.css"; import "bootstrap/dist/js/bootstrap.min.js"; import "zico/css/zico.min.css"; Vue.config.productiOnTip= false new Vue({ router, render: h => h(App) }).$mount('#app') 

    最后回到根目录进行操作:

    #第三步,检查 package.json 中是否有引用,没有则补上,注意下方 dependencies 段落: { "name": "vuecli-homepage", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "lint": "vue-cli-service lint" }, "dependencies": { "core-js": "^3.6.4", "jquery": "^3.4.1", "popper.js": "^1.16.1", "vue": "^2.6.11", "vue-router": "^3.1.5", "zico": "^1.5.1" }, "devDependencies": { ...... 

    上面三步完成后,就可以自由的采用原生的 bootstrap 代码和标准的 html 来写作了,直接拷贝code.z01.com/v4官方站的代码提升开发效率。

    这样你就可以直接引用原生的 bootstrap4 和 zico 代码,在 vue 中进行原生的开发了。 效果如下所示: QQ 截图 20200211175156.jpg

    好了,祝你开发愉快,来自逐浪 CMS 团队 www.z01.com ,16 年专注研发高端 CMS。

    4 条回复    2020-02-12 17:08:02 +08:00
    suyuyu
        1
    suyuyu  
       2020 年 2 月 11 日
    为什么 vue 要用 bootstrap?
    guolaopi
        2
    guolaopi  
       2020 年 2 月 11 日
    @suyuyu 我也看蒙了,不都为了抛弃 jq 才用 vue 吗。怎么绕一圈还是回 jq 上了?
    imnaive
        3
    imnaive  
       2020 年 2 月 11 日
    返璞归真吗?
    wwwwzf
        4
    wwwwzf  
    OP
       2020 年 2 月 12 日
    @suyuyu 用 vue 不是要弃 bootstrap,不同的生态有不同的人群使用,vue 官方也没有这样的主张。
    一般来说,用 vue 大多是中后台开发者,他们图省事,不能一行一行的写 css

    而纯前端开发者,熟悉世界上最流行的 bootstrap 框架,二者整合,有其背景。

    可以问你们,用 PS 做图、用 DW 写一行行的代码,是很不是很土?不能算前端,必须开口阿里云、vue 框架才叫前端是吧?
    --其实。。。。。。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     897 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 20:12 PVG 04:12 LAX 13:12 JFK 16:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86