zoukankan      html  css  js  c++  java
  • Vue--Vue-CLI服务命令、项目结构、自定义配置

    Vue-CLI服务命令

    在说Vue-CLI项目结构的时候,先来说下Vue-CLI常用的服务命令

    CLI 服务 ( @vue/cli-service ) 是一个开发环境依赖。针对绝大部分应用优化过的内部的 webpack 配置;

    在一个 Vue CLI 项目中, @vue/cli-service 模块安装了一个名为  vue-cli-service 的命令。

    在 package.json 中的  scripts 指定  vue-cli-service 相关命令。

    • serve 启动一个开发环境服务器(基于 webpack-dev-server),修改组件代码后,会自动热模块替换
    • build 会项目根目录下自动创建一个  dist/ 目录,打包后的文件都在其中,打包后的 js 会自动生成后缀为  .js 和  .map 的文件。js文件: 是经过压缩加密的,如果运行时报错,输出的错误信息无法准确定位到哪里的代码报错。map文件:文件比较大, 代码未加密,可以准确的输出是哪一行哪一列有错。
    • lint 使用 Eslint 进行检查并修复代码的规范,比如: 将  main.js 中的格式多加个空格 ,执行 npm run lint 后它会自动的去除多余空格 。

    执行命令方式:

    npm run serve
    npm run build
    npm run lint

    Vue-CLI项目结构

    在之前我们使用Vue-CLI自定义创建的项目结构如下

    |-- node_modules: # 存放下载依赖的文件夹
    |-- public: # 存放不会变动静态的文件,它与src/assets的区别在于,public目录中的文件不被webpack打包处理,会原
    样拷贝到dist目录下
      |-- index.html: # 主页面文件
      |-- favicon.ico: # 在浏览器上显示的图标
    |-- src: # 源码文件夹
      |-- assets: # 存放组件中的静态资源
      |-- components: # 存放一些公共组件
      |-- views: #  存放所有的路由组件
      |-- App.vue: # 应用根主组件
      |-- main.js: # 应用入口 js
    |-- .browserslistrc: # 指定了项目可兼容的目标浏览器范围, 对应是package.json 的 browserslist选项
    |-- .eslintrc.js: # eslint相关配置
    |-- .gitignore: # git 版本管制忽略的配置
    |-- babel.config.js: # babel 的配置,即ES6语法编译配置
    |-- package-lock.json: # 用于记录当前状态下实际安装的各个包的具体来源和版本号等, 保证其他人在 npm install 项目时大家的依赖能保证一致.
    |-- package.json: # 项目基本信息,包依赖配置信息等
    |-- postcss.config.js: # postcss一种对css编译的工具,类似babel对js的处理
    |-- README.md: # 项目描述说明的 readme 文件

    关于  browsers 的配置如下:

    代码               含义
    last              2 versions 每一个主流浏览器的最后5个版本
    last              2 Chrome versions 谷歌浏览器的最后两个版本
    > 2%              市场占有量大于2%
    > 2% in US        美国市场占有量大于2%
    ie 6-8            ie浏览器6-8
    Firefox > 20      火狐版本>20
    Firefox < 20      火狐<20
    since 2013        2013年之后发布的所有版本
    iOS 7             指定IOS 7浏览器

     自定义配置

    前面我们使用Vue-CLI自动生成项目,但往往满足不了我们实际开发项目的需求。

    vue.config.js 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 vue 字段,但是注意这种写法需要你严格遵照 JSON 的格式来写。

    官网:https://cli.vuejs.org/zh/config/

    先创建一个vue.config.js文件

    这个文件应该导出一个包含了选项的对象:

    // vue.config.js
    module.exports = {
      // 选项...
    }

    常用的配置

    module.exports = {
        // 选项...
        // publicPath: '/demo2',
        devServer: {
            port: 8001, // 端口号,如果端口号被占用,会自动加1
            host: "localhost", //主机名, 127.0.0.1,  真机 0.0.0.0
            https: false, //协议
            open: true //启动服务时自动打开浏览器访问
        },
    
        lintOnSave: false, // 默认true,警告会被输出到命令行,但不会使得编译失败。如果为false,则不输出警告
        outputDir: "dist2", // 打包之后所在目录, 默认值 dist
        assetsDir: "assets", // 静态资源打包之后 存放路径 ,(相对于outputDir指定的路径), 默认值 ''
        indexPath: "out/index.html", // index.html 主页面打包之后存放的目录(相对于outputDir指定的路径),默认值 index.html
        productionSourceMap: false, // 打包时不会生成 .map 文件,加快打包速度 
        // filenameHashing: false, 打包时,静态文件不会生成hash值,一般不要这个
        
      }

    然后执行下面命令进行构建

    npm run build

    生成的目录结构如下

  • 相关阅读:
    mode
    文件操作
    深浅拷贝
    基础数据类型补充
    再谈编码 decode和encode
    Python练习题 015:一颗自由落地的球
    Python练习题 014:完数
    Python练习题 013:求解a+aa+aaa……
    Python练习题 012:字符统计
    Python练习题 011:成绩打分
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/11723009.html
Copyright © 2011-2022 走看看