在vue-cli中构建的项目是可以使用less的,但是查看package.json可以发现,并没有less相关的插件,所以我们需要自行安装. //第一步:安装 npm install less less-loader --save-dev 即通过npm安装less和less-loader,并记录到devDependencies中,因为这是我们在开发中使用的而非在生产中使用,所以就不将之记录在 dependencies 中. //第二步:在配置文件中配置 实际上如果我们通过vue-cli来构建项目…
1.关闭eslint校验有了eslint的校验,可以来规范开发人员的代码,是挺好的.但是有些像缩进.空格.空白行之类的规范,在开发过程中一直报错,未免太过于苛刻了.所以,我还是会选择关闭eslint校验.  下面就介绍一下vue项目中如何关闭这个校验. 首先我们在创建一个vue项目的时候,会有一个选择:Use ESLint to lint your code? (Y/n),在这一步,我们选择no就好了. 但是如果我们不小心选择了Y,在开发过程中一直报错,该怎么办呢?我们不需要删除项目重新创建,我…
在 @vue/cli-plugin-babel/index.js 中: api.genCacheConfig('babel-loader', {}, []) 我们看一下 api.genCacheConfig 在文件:@vue/cli-service/lib/PluginAPI.js 中被定义: Generate a cache identifier from a number of variables 在函数一开始接受 3 个参数: id partialIdentifier configFile…
首先还是简单介绍一下 webpack-bundle-analyzer 是做什么的: Visualize size of webpack output files with an interactive zoomable treemap. 一个很强大的用来优化打包之后文件提交的工具. 在老版本的脚手架里面已经多帮你配置好了,在 build/webpack.prod.conf.js 文件中: 判断是否配置了 bundleAnalyzerReport,如果配置了,加载 webpack-bundle-a…
在 vue.config.js 配置中有一个 indexPath 的配置,我们先看看它有什么用? 用来指定 index.html 最终生成的路径(相对于 outputDir) 先看看它的默认值:在文件 @vue/cli-service/lib/options.js 中 indexPath: joi.string() 默认值: indexPath: 'index.html' 使用案例: 我们在 vue.config.js 中配置: indexPath: '1/2/3/b.html' 最终在编译之后…
简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动.官网链接:https://cn.vuejs.org 是一个构建用户界面的框架 是一个轻量级的MVVM(Model-View-ViewModel),其实就是所谓的数据的双向…
vue.config.js的简单介绍 vue.config.js 是一个可选的配置文件, 在项目的 (和 package.json 同级的) 根目录中存在这个文件. 默认情况没有这个文件需要我们手动去创建这个文件的哈 那么它会被 @vue/cli-service 自动加载. module.exports={ productionSourceMap: false, //生产环境地图资源,默认为true,此时js不会生成对应的.map文件 publicPath: process.env.NODE_E…
官方文档中介绍过在 vue.config.js 文件中可以配置 parallel,作用如下: 是否为 Babel 或 TypeScript 使用 thread-loader. 该选项在系统的 CPU 有多于一个内核时自动启用,仅作用于生产构建 我们看一下源码部分: parallel 接受 boolean 值: parallel: joi.boolean() 默认设置如下: parallel: hasMultipleCores() 依赖了函数 hasMultipleCores in some ca…
大家还记得我们在老版本中,对于线上环境配置中会把所有的 css 多打成一个文件: 核心是使用了插件 extract-text-webpack-plugin,方式如下: 第一步都是加载插件 const ExtractTextPlugin = require('extract-text-webpack-plugin') 这个插件的描述如下: Extract text from a bundle, or bundles, into a separate file. 然后配置如下:(省去了 rules…
最近做了一个基于Vue的项目,需要兼容IE浏览器,目前实现了打包后可以在IE10以上运行,但是还不支持在运行时兼容IE10及以上. 安装依赖 yarn add --dev @babel/polyfill  在入口文件 main.js 引入依赖 import '@babel/polyfill'; 修改 babel.config.js module.exports = {   presets: [     [       '@vue/app',       {         useBuiltIns…
vue-cli2+webpack构建的vue项目如何让图片和js等静态资源走cdn,哪里可以配置呢?下面我详细介绍 1.config/index.js中可以看到 module.exports = { dev: {...}, build: { assetsSubDirectory: 'static', assetsPublicPath: '/', } dev相对于本地开发调试用的,build对于发布环境 其中assetsPublicPath就是配置静态资源的cdn,我们可以再这里配置我们对应的cd…
背景 webpack有一特性就是可以让使用者灵活的在不同环境(开发环境,生产环境等)进行相应的特性的策略打包,比如: 是否使用反向代理使用接口,针对不同的静态资源(如图片等)是直接拷贝还是进行打包编译等等,这一特性的诞生归功于Nodejs的环境变量-process.env. NODE_ENV process.env. NODE_ENV 1. 值 1.1  production:生产阶段 1.2 development/staging: 开发阶段 2. webpack中的应用 // webpack…
1.安装好mockjs命令行 npm install mockjs 2.在项目中引用mockjs [ 重要 ] ##在项目src目录下新建一个mock文件夹 ##在mock文件夹下新建 index.js ---存放所有的http模拟返回的接口数据 3.编辑index.js 添加代码导入mockjs: import Mock from 'mockjs'; * 添加接口数据代码:*************************index.js****************************…
Vue+bootstrap不能正常使用table的样式 环境:下载官网的本地bootstrap包,然后在vue 的index.html引入bootstrap的css和js环境 问题描述:1. vue里面引用bootstrap 的时候,table 的其他样式(table-border.table-hover等)不生效 代码: 1 <table class='table table-striped'> 2 <caption>学生管理系统v1.0-展示学生</caption>…
Vue-loader Vue-loader 是一个加载器,能把 .vue 文件转换为js模块. Vue Loader 的配置和其它的 loader 不太一样.除了将 vue-loader 应用到所有扩展名为 .vue 的文件上之外,还需要在 webpack 配置中添加 Vue Loader 的插件 npm install -D vue-loader vue-template-compiler        // webpack.config.js        const VueLoaderPl…
环境:            有2个业务接口需要转发到82的服务器上:     ../user/getCode.do     ../user/doLogin.do 现象:          使用上述的2个接口实现用户登录功能,首先显示登录页面,调用../user/getCode.do获取验证码,然后用户界面输入用户名.密码和验证码,点击登录之后调用../user/doLogin.do接口实现登录.结果../user/doLogin.do后端总是找不到验证码,因为浏览器没有把cookie中的JSE…
1.为什么要对 Vue CLI 进行大规模修改? 尤雨溪认为旧版本的 Vue CLI 本质上只是从 GitHub 拉取模版,这种拉模版的方式有几个问题: (1) 在单个模版里面同时支持太多选项会导致模版本身变得极其复杂和难以维护,而提供多个模版一方面会让初学者无所适从,另一方面模版之间也难以共享功能或是互相迁移.CLI 3 对此的解决方案是通过插件的形式去支持多个不同的功能,一个插件对应一个功能(比如单元测试),这样即避免了多个模版,也使得 CLI 自身的可维护性得到提升.同时,支持第三方插件,…
ESLint是js中目前比较流行的插件化的静态代码检测工具.通过使用它可以保证高质量的代码,尽量减少和提早发现一些错误.使用eslint可以在工程中保证一致的代码风格,特别是当工程变得越来越大.越来越多的人参与进来时,需要加强一些最佳实践. 本文假设您已经有一个react+babel+webpack的起始工程,可以参考react-webapp-startkit 首先,安装eslint包 在项目的跟目录下,运行 npm --save-dev install eslint 因为我们使用了webpac…
最近看了一篇好文,根据这个文章重新梳理了一遍webpack打包过程,以前的一些问题也都清楚了,在这里分享一下,同时自己也做了一些小的调整 原文链接:http://www.jianshu.com/p/42e11515c10f git项目地址:https://github.com/gengchen528/webpackSample 更多前端内容可以到:http://www.bloggeng.com/ 写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的…
@vue/cli  是一个基于 Vue.js 进行快速开发的完整系统. @vue/cli   基于node服务  需要8.9以上版本 可以使用 nvm等工具来控制node版本  构建于 webpack 和 webpack-dev-server 之上 安装   如果已安装旧版 需要先卸载旧版本 : npm uninstall vue-cli -g //or yarn global remove vue-cli 任一命令安装全局新包: npm install -g @vue/cli //or yar…
一.安装node环境(自带npm) 下载地址 二.替换下载源 // 淘宝 NPM 镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 三.全局安装vue-cli脚手架 npm install --global vue-cli 四.vue2.* webpack模板下载 vue init webpack vue_project 五.安装vuex npm install vuex --save 在main.js中注入vue…
Vue CLI  的官方文档上写:调整webpack配置最简单的方式就是在vue.config.js中的configureWebpack选项提供一个对象. Vue CLI 内部的 webpack 配置是通过 webpack-chain (链式操作)维护的.这个库提供了一个 webpack 原始配置的上层抽象,使其可以定义具名的 loader 规则和具名插件,并有机会在后期进入这些规则并对它们的选项进行修改. 它允许我们更细粒度的控制其内部配置.接下来有一个在 vue.config.js 中的 c…
使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development.production) --mode 指定环境模式 (默认值:development) 运行命令,在终端输出: 开发环境:npx vue-cli-service inspect --mode development 生产环境:npx vue-cli-service inspect --mode production 运行命令,将输出导入到 js 文…
当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面  (环境变量及其基本变量的配置) var path = require('path') module.exports = { build: { index: path.resolve(__dirname, 'dist/index.html'), assetsRoot: path.resolve(__dirname, 'dist'), assetsSubDirectory: 'stati…
在vue.js 框架搭建好后,其vue-cli 自动构建的目录里面相关环境变量及其基本变量配置,如下代码所示: module.exports = { build: { index: path.resolve(__dirname, '../dist/index.html'), assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: '/', productionS…
一.单页面应用(SPA) 1.1 C/S到B/S页面架构的转变 C/S:客户端/服务器(Client/Server)架构的软件. C/S 软件的特点: ① 从window桌面双击打开 ② 更新的时候会替换原有的,原有的必须删除,不能刷新. ③ 在其他的设备上使用的时候,也要安装软件. B/S :浏览器和服务器(Browser/Server)架构 B/S 软件的特点: 不需要安装任何的客户端,是通过浏览器输入网址打开的. 更新的时候不需要重新安装软件,你只需要刷新页面,程序就能更新. 在其他设备端…
前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段. 我们在开发的过程中,由于后台接口的没有完成或者没有稳定之前我们都是采用模拟数据的方式去进行开发项目,这样会使我们的前后端会同时的进行,提高我们的开发效率. 因为最近自己在自学 Vue 也在自己撸一个项目,肯定会遇到使用数据的情况,所以就想着如何在前端做一些 mock 数据的处理,因为自己的项目使用的是 vue/cli 3.0 与 vue/cl…
前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 test-单测)模式.其实这是小伙伴们没有理解 vueCli 文档所导致的. vueCli 命令中 --mode 对应的 .env.[mode],而不是 NODE_ENV ::: tip 注意 除了 VUE_APP_ 变量之外. 还有两个特殊的变量: NODE_ENV: 是 development.pro…
官方文档 vue-cli3以下版本中,关于webpack的一些配置都在config目录文件中,可是vue-cli3以上版本中,没有了config目录,那该怎么配置webpack呢? 3.x初始化项目后没有了build和config文件,如果你想对webpack相关内容进行配置,需要自己在根目录下(与package.json同级)创建一个vue.config.js文件,这个文件一旦存在,那么它会被 @vue/cli-service 自动加载.(但需要我们自己手动创建哦vue.config.js,跟…
vue-cli是构建vue单页应用的脚手架,命令行输入vue init <template-name> <project-name>从而自动生成的项目模板,比较常用的模板有webpack.webpack-simple.browserify等模板.这其中webpack发挥了很大的作用,它使得我们的代码模块化,能够免除搭建项目时所花费的时间.后期对项目的配置使得我们对于脚手架自动生成的代码的理解更为重要,我们现在来了解下webpack模板下的配置文件 主要目录 1.package.js…