zoukankan      html  css  js  c++  java
  • vue-cli项目实操(一)

    1、安装nodejs:https://nodejs.org/en/ 

    2、安装淘宝npm镜像 cnpm:

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    3、安装脚手架vue-cli:

    cnpm install -g vue-cli  

    4、创建vue项目:

    vue init webpack test

    5、安装信息填写:

    • Project name (vuetest):项目名称,可以为空,使用默认,不能大写;
    • Project description (A Vue.js project)  项目描述,可以为空,使用默认;
    • Author   作者;
    • Runtime + Compiler: recommended for most users    运行加编译,选择;
    • Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere   仅运行时;
    • Install vue-router? (Y/n) 是否安装路由;
    • Use ESLint to lint your code? (Y/n)      是否使用ESLint管理代码,代码风格管理工具,用来统一代码风格,多人协作用;
    • Pick an ESLint preset (Use arrow keys)  选择一个ESLint预设,编写vue项目时的代码风格;
    • Setup unit tests with Karma + Mocha? (Y/n)  是否安装单元测试;
    • Setup e2e tests with Nightwatch(Y/n)?     是否安装e2e测试 ;

    6、安装依赖:(据说cnpm没有npm稳定,会漏安装一些包)

    cnpm i

    7、运行开发环境:

    npm run dev

    8、运行生产环境:

    npm run build

    9、引入bootstrap:

    • 下载bootstrap: http://www.bootcss.com/
    • 引入jquery依赖:(查看版本:npm view jquery versions)
    • npm i jquery@1.11.3 --save-dev   
    • 修改webpack.base.conf.js文件:
    • ...
      var webpack = require('webpack')
      ...
      alias: {
      'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), 'assets': path.resolve(__dirname, '../src/assets'),
        'jquery': "jquery/src/jquery" }

      ...

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

       
    • 在入口文件main.js中加入:
    • //bootstrap

      import $ from 'jquery'
      import './assets/bootstrap/css/bootstrap.min.css'
      import './assets/bootstrap/js/bootstrap.min.js'

    • 如果报长串错误,说明bootstrap.js文件格式不匹配不能通过webpack的格式检查,修改webpack.base.conf.js文件:
    •      {
              test: /.(js|vue)$/,
              loader: 'eslint-loader',
              enforce: 'pre',
              include: [resolve('src'), resolve('test')],
              exclude: [/js/],  //修改
              options: {
                formatter: require('eslint-friendly-formatter')
              }
            }

    10、components目录下新建文件index.vue,复制bootstrap导航模板:

    <template>  
      <nav class="navbar navbar-default" role="navigation">  
        <div class="container-fluid">  
          <!-- Brand and toggle get grouped for better mobile display -->  
          <div class="navbar-header">  
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">  
              <span class="sr-only">Toggle navigation</span>  
              <span class="icon-bar"></span>  
              <span class="icon-bar"></span>  
              <span class="icon-bar"></span>  
            </button>  
            <a class="navbar-brand" href="#">{{ msg }}</a>  
          </div>  
      
          <!-- Collect the nav links, forms, and other content for toggling -->  
          <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">  
            <ul class="nav navbar-nav">  
              <li class="active"><a href="#">Link</a></li>  
              <li><a href="#">Link</a></li>  
              <li class="dropdown">  
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>  
                <ul class="dropdown-menu" role="menu">  
                  <li><a href="#">Action</a></li>  
                  <li><a href="#">Another action</a></li>  
                  <li><a href="#">Something else here</a></li>  
                  <li class="divider"></li>  
                  <li><a href="#">Separated link</a></li>  
                  <li class="divider"></li>  
                  <li><a href="#">One more separated link</a></li>  
                </ul>  
              </li>  
            </ul>  
            <form class="navbar-form navbar-left" role="search">  
              <div class="form-group">  
                <input type="text" class="form-control" placeholder="Search">  
              </div>  
              <button type="submit" class="btn btn-default">Submit</button>  
            </form>  
            <ul class="nav navbar-nav navbar-right">  
              <li><a href="#">Link</a></li>  
              <li class="dropdown">  
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>  
                <ul class="dropdown-menu" role="menu">  
                  <li><a href="#">Action</a></li>  
                  <li><a href="#">Another action</a></li>  
                  <li><a href="#">Something else here</a></li>  
                  <li class="divider"></li>  
                  <li><a href="#">Separated link</a></li>  
                </ul>  
              </li>  
            </ul>  
          </div><!-- /.navbar-collapse -->  
        </div><!-- /.container-fluid -->  
      </nav>  
    </template>  
    
    <script>
    export default {
      name: 'Index',
      data () {
        return {
          msg: 'Welcome to Your Vue.js App'
        }
      }
    }
    </script>
    
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped></style>

    11、router目录下index.js:

    import Vue from 'vue'
    import Router from 'vue-router'
    import Index from '@/components/Index'
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/',
          name: 'Index',
          component: Index
        }
      ]
    })

    效果如图所示,则成功引入bootstrap:

  • 相关阅读:
    计算几何 val.3
    项目中常用的19条MySQL优化
    九年测试老鸟给测试新人的6条忠告
    敏捷软件测试常见的七个误区
    JEMTER简单的测试计划
    你真的会搭建测试环境吗?
    使用 Fiddler工具模拟post四种请求数据
    性能测试方案及性能测试流程
    Appium的环境搭建和配置
    Python :编写条件分支代码的技巧
  • 原文地址:https://www.cnblogs.com/geewonii/p/7406658.html
Copyright © 2011-2022 走看看