webpack--安装,使用
1. webpack
1.1. webpack介绍
webpack是一个资源的打包工具,目前最新为webpack3,可以将 .js, .css , image等静态资源当做一个模块来进行打包,那么每一种模块都是有一个对应的 loader来实现webpack版本官网:https://webpack.js.org/ 项目使用的是 webpack 3.4.0node环境的安装
安装webpack步骤:
1 第一种安装方式:npm使用国外镜像下载,速度慢 2 在cmd命令行面板中 执行: npm install webpack@3.4.0 -g 将webpack 3 安装为全局就能够在cmd命令行面板中使用webpack指令了 4 5 第二种安装方式:cnpm 使用淘宝作镜像下载,速度快 6 在cmd命令行面板中 执行: cnpm install webpack@3.4.0 -g 将webpack 7 安装为全局就能够在cmd命令行面板中使用webpack指令了
1.1.1. webpack常用指令和webpack.config.js配置文件
- webpack常用指令
1 webpack 入口文件.js 输出文件.js 2 webpack // 最基本的启动webpack的方法,默认查找名称为 3 webpack.config.js文件 4 webpack --config webpack.config.js // 指定配置文件 5 webpack -p // 对打包后的文件进行压缩
- webpack.config.js配置文件的作用
- 一个常用webpack版本的webpack.config.js文件结构:
// 导入html-webpack-plugin 包,用来根据模板自动生成index.html var htmlwp = require('html-webpack-plugin');module.exports={ entry:'./src/main.js', // 1.0 定义打包的入口文件路径 output:{ path:'./dist', //打包以后的文件存放目录 filename:'build.js' // 打包以后生成的文件名称 }, module:{ loaders:[ //webpack2及其以上也可以使用 rules:[] { // 打包 .css文件 test:/\.css$/, loader:'style-loader!css-loader' } ] }, plugins:[ new htmlwp({ title: '首页', //生成的页面标题 filename: 'index.html', //webpack-dev-server在内存中生成的文件名称,自动将build注入到这个页面底部,才能实现自动刷新功能 template: 'index1.html' //根据index1.html这个模板来生成(这个文件请你自己生成) }) ] }
例子:
1 module.exports = { 2 entry:"./main.js",//设置入口文件(目标文件) 3 output:{ 4 // __dirname :可以得到当前文件的绝对路径 5 path: __dirname +"/dist",//输出文件的路径(出口) 6 filename:"build.js"//设置打包好以后的文件名 7 }, 8 module:{ 9 loaders:[ 10 { 11 //配置打包css文件 12 test: /\.css$/,// 匹配当前项目中所有以.css结尾的文件,将这些文件交给下面两个第三方包进行打包 13 loader:"style-loader!css-loader"// 实现css文件打包 14 }, 15 { 16 // 配置打包sass文件 17 test: /\.scss$/,// 匹配当前项目中所有以.scss结尾的文件,将这些文件交给下面两个第三方包进行打包 18 loader:"style-loader!css-loader!sass-loader"// 实现sass文件打包 19 }, 20 { 21 // 配置打包less文件 22 test: /\.less$/,// 匹配当前项目中所有以.less结尾的文件,将这些文件交给下面两个第三方包进行打包 23 loader:"style-loader!css-loader!less-loader" // 实现less文件打包 24 }, 25 { 26 // 配置打包url()请求的资源 27 test: /\.(png|jpg|gif)$/,// 将来会将png,jpg,gif后缀的文件进行打包 28 loader:"url-loader?limit=40000" //依赖整url-loader 29 // limit用来设置文件的大小 30 // 2097152 ---> 2M 在图片大小为小于2M的时候直接将图片打包输出文件中 31 // 在图片大小为大于2M的时候直接将图片复制到当前的目录下 32 } 33 ] 34 } 35 }
1.1.2. webpack中loader介绍
loader介绍
1.1.3. webpack相关配置
1.1.3.1. 打包css资源演示
1 npm i css-loader style-loader --save-dev
在webpack.config.js中配置这两个loader在项目中建立一个site.css文件,并且在main.js中导入在cmd中执行webpack命令
1.1.3.2. 打包sass资源演示
1 cnpm install node-sass sass-loader css-loader style-loader --save-dev
在webpack.config.js中配置这两个loader在项目中建立一个site1.scss文件,并且在main.js中导入在cmd中执行webpack命令
1.1.3.3. 打包less资源演示
- 在webpack.config.js中配置这两个loader
- 在项目中建立一个site1.scss文件,并且在main.js中导入
- 在cmd中执行webpack命令
1.1.3.4. 打包url()请求的资源
- 在webpack.config.js中配置这两个loader
- 在site.css文件导入一个图片
- 在cmd中执行webpack命令
1.1.3.5. ECMAScript6语法转ECMAScript5语法
- 在webpack.config.js中配置loader
- 在main.js中使用es6语法导入site.css
1 import '../statics/css/site.css'
- 在cmd中执行webpack命令
1.1.3.6. 利用webpack-dev-server实现热刷新配置
- 在package.json文件中配置webpack-dev-server命令
1 "scripts": { 2 "dev":"webpack-dev-server --inline --hot --open --port 5008" 3 }
- 配置html-webpack-plugin组件
1 // 导入html-webpack-plugin 包,获取到插件对象 2 var htmlwp = require('html-webpack-plugin');
1 2 plugins:[ 3 new htmlwp({ 4 title: '首页', //生成的页面标题,需要在模板index1.html中的title中使用:<%= htmlWebpackPlugin.options.title %> 5 filename: 'index.html', //webpack-dev-server在内存中生成的文件名称,自动将build注入到这个页面底部,才能实现自动刷新功能 6 template: 'index1.html' //根据index1.html这个模板来生成(这个文件请程序员自己生成) 7 }) 8 ]
- index1.html 模板页面代码
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title><%= htmlWebpackPlugin.options.title %></title> 6 <meta name="viewport" 7 content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/> 8 </head> 9 <body> 10 <div id="app"> 11 </div> 12 </body> 13 </html>
- 运行
1.1.3.7. 利用webpack解析和打包 .vue组件页面
1 { 2 presets: ['es2015'], 3 plugins: ['transform-runtime'] //这句代码就是为了解决webpack1.x中打包.vue文件不报错,在webpack2+中正常 4 } 5
1 { 2 // 打包.vue文件 3 test:/\.vue$/, //表示当前要打包的文件的后缀正则表达式 4 loader:'vue-loader' // 5 }
- .vue组件页面的写法结构
- 将.vue中的内容解析编译并且展示在浏览器中
import Vue from 'vue';
import App from './App.vue';
new Vue({ el:'#app', // render:function(create){create(App);} es5语法 render:create=>create(App) //es6语法 });
1.2. 项目中使用的ECMAScript6语法总结
1.3. 将项目源码利用git.oschina.net托管
- 1、 去 https://git.oschina.net/signup 页面注册一个账号,如果有则登录
- 2、 创建仓库和提交源码
1.4. Vue 官方命令行工具快速搭建大型单页应用
- Vue-cli使用步骤
1、在cmd命令面板中执行:npm install --global vue-cli 全局安装 vue-cli2、利用:vue init webpack projectName(自定义项目名称) 创建一个基于webpack模板的新项目
3、进入到项目名称文件夹中执行 npm install 安装项目所需依赖
4、运行 npm run dev 运行项目
转载于:https://www.cnblogs.com/mrszhou/p/7868800.html
webpack--安装,使用相关推荐
- webpack 安装卸载
webpack安装: npm install webpack -g //-g 全局npm install webpack -s //-s 局部 npn install webpack@x.xx -g ...
- 【JavaScript】 Webpack安装及文件打包
背景 最近开启一个新项目,需要对前端的各类资源文件进行打包,经过多方调研后,决定使用webpack工具.但是网上的教程多是将webpack直接作为服务器使用,而我只是想将其作为单纯的资源打包工具而已. ...
- Webpack安装及打包js、css文件示例
什么是Webpack Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源.Webpack 可以将多种静态资源 js.css ...
- webpack前端构建工具学习总结(一)之webpack安装、创建项目
npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器 ...
- webpack 安装vue(两种代码模式compiler 和runtime)
使用webpack安装vue,import之后,运营项目报错,如下: [Vue warn]: You are using the runtime-only build of Vue where the ...
- Webpack 安装
本节我们来学习 webpack4.0 的安装,webpack 的运行需要依赖 Node.js 的运行环境,在安装 webpack 时也需要用到 npm ,所以我们需要先安装 Node.js,Node. ...
- webpack安装使用教程
写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段 ...
- webpack安装与使用(详细)
一.什么是webpack? webpack是现代javascript应用程序的静态模块打包器,当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中 ...
- webpack安装 webpack-dev-server后运行报错
webpack安装 webpack-dev-server后进行实时监听报错 webpack安装插件 webpack-dev-server后进行实时监听,重新运行npm run dev报错 一.问题现象 ...
- webpack安装教程及webpack-dev-server
znwebpack安装教程_彳亍的博客-CSDN博客_webpack安装教程 webpack\webpack-cli上方文章写的非常好了,直接按步骤来就行,也可以通过cnpm安装(把np ...
最新文章
- Java基础学习总结(22)——异常处理
- CTFshow 反序列化 web269
- Codeforces Round #346 (Div. 2) D. Bicycle Race 叉积
- python参数检验框架_python-wtforms框架如何自定义校验器的原理和方法总结
- [LeetCode] Remove Element 分析
- 第三季-第19课-消息队列编程
- 堆区和栈区的区别【转】
- 文本的编码格式: ANSI、ASCII、UTF8、UNICODE、GB2312、UCS-2、UTF16
- html自动加好友,WeTool微信自动加好友软件
- GSCC呼叫中心系统
- 中文可以声明java类吗_JSP中可以声明基本类型和结构类型变量,但不能申明类,类必须放在JavaBean中。...
- EPP-域名映射(RFC5731翻译)
- 新手入门,求大神帮助!!!
- 音视频开发系列(46)运算符重载、继承、多态、模版
- 信用卡智能还款是什么,靠不靠谱?
- Python创建文件夹和子文件夹
- 概率与数理统计-笔记说明
- 防静电工作台检测标准是什么?
- CREO工程截面图如何一键去掉除截面后面多余的线
- intellij idea 设置显示空格
热门文章
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(七)
- 迁移用友U8 ERP服务器
- 用html css设计网站,HTMLCSS构建和设计网站
- 分区起始位置参数溢出_IIS6.0缓冲区溢出漏洞深度分析(CVE-2017-7269)
- 转载:什么是良好的Verilog代码风格?(作者KellenWang)
- Rust —— 一门没有GC的语言
- Windows7安装PowerShell5.1方法(Flutter新版本需要)
- VC中如何设置Socket的TCP/IP KeepAlive机制(MSDN)
- io vivado 怎么查看ps_vivado学习之PS与PL通信
- 【java学习之路】(java SE篇)005.面向对象基础入门part2