用vue-cli1/2搭建一个vue项目时,可以看到有很多关于webpack配置的文件。我们不需要知道那些繁琐的配置文件有什么作用,只需在控制台输入npm run dev,项目自动启动,我们就可以愉快的写业务代码了。

虽然vue-cli帮我们做好了一切,我们就能不用学webpack了吗?NoNoNo...现代前端工程师必备的技能就是模块化构建打包项目,不信去那些招聘网站的前端JD看看。废话不多说,下面让我们用webpack构建一个简单的vue-cli。

第一步:安装NodeJS(webpack基于NodeJS)

下载地址:http://nodejs.cn/download/,傻瓜式安装,一直下一步就ok。安装完毕,在控制台输入node -v检查是否按照成功。

NodeJS是JavaScript的运行环境,像浏览器一样。安装之后可以通过node命令运行JavaScript代码,比如:node a.js

npm(node package manage of JavaScript)作用:Node.js下载后自带npm,类似于迅雷下载资源,可以下载项目所需的依赖模块/包。

  1. 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  2. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  3. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

    npm是国外的,可能会比较慢,建议安装cnpm,安装方法:npm install -g cnpm --registry=https://registry.npm.taobao.org

第二步:npm init初始化生成package.json

  1. 首先建立一个空的项目文件夹,
  2. 进入文件夹,shift+右击,出现【在此处打开命令窗口(W)】,
  3. 点击进入cmd控制台,命令路径即为当前文件夹目录,
  4. 然后输入npm init -y,回车,之后会在根目录创建一个package.json。

    package.json用来存放整个项目的依赖模块/包,当我们把整个项目迁移到别的地方使用时,项目运行时会根据package.json的依赖参数自动下载所需模块/包。

第三步:安装webpack

命令:npm install webpack@3.12.0 --save-dev

测试webpack在本地是否可用,webpack -v如果出现webpack为无效命令,则使用全局安装webpack:npm install webpack@3.12.0 -g。安装成功后就可以使用webpack命令玩耍了。

建议安装wepack3,webpack4对vue-cli的兼容还不是很好

webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。

Grunt和Gulp的工作方式是:在一个配置文件中,指明对某些文件进行类似编译,组合,压缩等任务的具体步骤,工具之后可以自动替你完成这些任务。

第四步:webpack打包模块

很多文件类型,比如vue、css、img、字体...需要我们配置相应的loader才能完成正确解析并打包。

比如,把css打包到js文件中,需要安装css加载器,安装命令:npm install --save-dev style-loader css-loader
css-loader 和 style-loader,二者处理的任务不同
css-loader使你能够使用类似@import 和 url(...)的方法实现 require()的功能
style-loader将所有的计算后的样式用<style></style>加入页面中,二者组合在一起使你能够把样式表嵌入webpack打包后的JS文件中

命令行打包(不推荐):

webpack {entry file} {destination for bundled file} // 如webpack ./js/main.js ./dist/bundle.js 自动创建dist目录

这种打包方式,在js文件中引入css文件时要注明loaderrequire('style-loader!css-loader!../css/index.css') 注意顺序不能错!

配置文件打包(推荐):
需要在项目的根目录创建webpack.config.js.项目里配置如下:

module.exports = {entry:  __dirname + "/src/main.js",// 入口文件,可以多个 output: { path: __dirname + "/dist", // 绝对路径,打包后的文件存放的文件夹 filename: "build.js" // 相对路径,打包后输出的文件 },   // 1. 不同webpack版本配置loader的方式不同,webpack3用loaders,webpack4用rules // 2. 命令行方式引入css的require('style-loader!css-loader!../css/index.css') 就可以写成 require('../css/index.css')  module: { loaders: [ { test: /\.css$/, loader: 'style-loader!css-loader' }, { test: /\.(jpg|png|jpeg|svg)$/, loader: 'url-loader', options: { // 大于10000字节会被打包成重命名的图片资源,否则打包成base64 limit: 10000 // name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, { test: /\.vue$/, loader: 'vue-loader' }, { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/, options: { presets: ['env'], // 处理关键字,es6/7/8/9...都能转化 plugins: ['transform-runtime'] // 处理函数 } } ] } }

package.json中配置scripts:{"build": 'webpack'}webpack命令会默认运行webpack.config.js文件),执行npm run build即可打包

第五步:搭建webpack服务器

上面4步就可以完成项目的打包任务,但是开发环境还需要更进一步配置。

webpack-dev-server可以像php/java/.net...一样搭建为我们搭建一个服务器,这样就可以热更新项目代码,实现实时运行项目,进而方便我们调试项目。

  1. 安装: npm install webpack-dev-server -g
  2. 写入到依赖: npm install webpack-dev-server --save-dev
  3. 配置命令:scripts:{"dev": 'webpack-dev-server --hot --inline'} // 实现热更新和在线编译
  4. 运行命令:npm run dev
  5. 输入localhost:8080/运行... // webpack-dev-server的默认端口是8080

具体代码见:https://github.com/tzy13755126023/webpack-vue-cli

最后,webpack版本更新很频繁,各种npm包也更新很频繁,这就会导致一个兼容问题,动不动就报错,这点很让人头疼,很容易会导致从入门到放弃。

转载于:https://www.cnblogs.com/tzy1997/p/10963304.html

webpack入门——构建简易版vue-cli相关推荐

  1. 手写简易版Vue源码之数据响应化的实现

    当前,Vue和React已成为两大炙手可热的前端框架,这两个框架都算是业内一些最佳实践的集合体.其中,Vue最大的亮点和特色就是数据响应化,而React的特点则是单向数据流与jsx. 笔者近期正在研究 ...

  2. 使用Vue CLI 3提升您的Vue.js工作流程

    没有命令行界面(CLI)工具的帮助,我们几乎无法想象现代Web开发. 通过减少重复繁琐的任务,它们极大地促进并加快了开发流程. 手动设置项目,具有所有的上线,构建,测试,预处理,优化和依赖项跟踪功能, ...

  3. vue cli 4 多环境_Vue 笔记整理19

    19.1 vue-cli起步 19.1.1 什么是vue-cli Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: - 通过 @vue/cli 搭建交互式的项目脚手架. - 通 ...

  4. Vue CLI 浏览器兼容性

    浏览器兼容性 关于浏览器的兼容我们可以从下面一些内容来了解与认识: Vue CLI 3初始化的项目,你会发现有 package.json 文件里的 browserslist 字段 (或一个单独的 .b ...

  5. 体验 vue cli 3.0

    vue cli 3x 发布已经有好长一段时间了,webpack 4x 现在版本已经到了 4.28.0:如果你现在用或者不用手脚架搭建项目,我都推荐你使用 webpack 4x,体验一把新技术带来的变化 ...

  6. Vue CLI 3结合Lerna进行UI框架设计

    第一次在掘金发文章,有点啰里啰嗦,大家见谅. 当前大部分UI框架设计的Webpack配置都相对复杂,例如Element.Ant Design Vue和Muse-UI等Vue组件库.例如Element, ...

  7. Vue脚手架的使用(Vue CLI)

    一.什么是脚手架: CLI是Command-Line interface,翻译为命令行界面.Vue CLI是一个官方发布的Vue.js项目脚手架,它可以快速搭建Vue开发环境以及对应的webpack配 ...

  8. Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗?

    本文完整版:<Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗> Vite 与 Vue Cli 对比 一.Vite 与 Vue CLI 是什么? Vu ...

  9. Vue CLI 3 多页应用项目的搭建

    在项目初期时,从零开始搭建和配置本地前端开发环境是一项很繁琐的工作,需要考虑到项目目录结构.项目基本配置.Webpack 配置等等.通过 Vue CLI 3 可以快速的生成一个项目,这样我们就可以专注 ...

最新文章

  1. 操作系统下查看HBA卡信息wwn的方法
  2. 查看 固态硬盘位置_3米防摔+人脸/指纹解锁:西数Armorlock移动固态硬盘
  3. rad linux下安装mysql_Linux(CentOS或RadHat)下MySQL源码安装
  4. 95-36-110-ChannelHandler-ChannelDuplexHandler
  5. ubuntu17.04 UHD 驱动出错
  6. 汽车诊断协议 - CAN BUS协议
  7. Gitea服务器ip变更项目无法创建、拉取、上传
  8. matlab中的常用符号,matlab特殊符号表
  9. 网络正常连接,浏览器无法打开网页的解决方法
  10. 闪存文件系统(Flash File System)
  11. 能将PDF转成PPT图片文字的转换器
  12. OpenYurt 在龙源 CNStack 云边协同项目的应用
  13. android 记事本ppt,基于Android记事本软件设计与实现.ppt
  14. android对view截图后,保存图片黑色背景问题
  15. 什么企业邮箱最安全好用?如何选择一个安全邮箱?
  16. iptables使用详解
  17. Tomat组件研究之ThreadPool
  18. 前端代码规范(阿里) --- Vue
  19. UVa 10697 - Firemen barracks
  20. 如果微软狠心鸿蒙系统,微软将发布新的操作系统,剑指华为鸿蒙系统,谁能更胜一筹?...

热门文章

  1. 初识spring-boot
  2. 2017年读书计划(一)
  3. apache ab 测试 apr_socket_connect(): 由于目标机器积极拒绝 无法连接
  4. No tag datetimepicker defined in tag library imported with prefix s解决
  5. 创业不要把大公司当直接对手
  6. pytorch学习笔记 1. pytorch基础 tensor运算
  7. 为数据计算提供强力引擎,阿里云文件存储HDFS v1.0公测发布
  8. Kafka 分布式环境搭建
  9. linux服务器加入windows域时报错Ticket expired
  10. Docker1.8在Centos7下的安装