webpack--安装,使用
1. webpack
1.1. webpack介绍
webpack是一个资源的打包工具,目前最新为webpack3,可以将 .js, .css , image等静态资源当做一个模块来进行打包,那么每一种模块都是有一个对应的 loader来实现webpack版本官网:https://webpack.js.org/ 项目使用的是 webpack 3.4.0node环境的安装
安装webpack步骤:
第一种安装方式:npm使用国外镜像下载,速度慢
在cmd命令行面板中 执行: npm install webpack@3.4.0 -g 将webpack
安装为全局就能够在cmd命令行面板中使用webpack指令了 第二种安装方式:cnpm 使用淘宝作镜像下载,速度快
在cmd命令行面板中 执行: cnpm install webpack@3.4.0 -g 将webpack
安装为全局就能够在cmd命令行面板中使用webpack指令了
1.1.1. webpack常用指令和webpack.config.js配置文件
- webpack常用指令
webpack 入口文件.js 输出文件.js
webpack // 最基本的启动webpack的方法,默认查找名称为
webpack.config.js文件
webpack --config webpack.config.js // 指定配置文件
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这个模板来生成(这个文件请你自己生成)
})
]
}
例子:
module.exports = {
entry:"./main.js",//设置入口文件(目标文件)
output:{
// __dirname :可以得到当前文件的绝对路径
path: __dirname +"/dist",//输出文件的路径(出口)
filename:"build.js"//设置打包好以后的文件名
},
module:{
loaders:[
{
//配置打包css文件
test: /\.css$/,// 匹配当前项目中所有以.css结尾的文件,将这些文件交给下面两个第三方包进行打包
loader:"style-loader!css-loader"// 实现css文件打包
},
{
// 配置打包sass文件
test: /\.scss$/,// 匹配当前项目中所有以.scss结尾的文件,将这些文件交给下面两个第三方包进行打包
loader:"style-loader!css-loader!sass-loader"// 实现sass文件打包
},
{
// 配置打包less文件
test: /\.less$/,// 匹配当前项目中所有以.less结尾的文件,将这些文件交给下面两个第三方包进行打包
loader:"style-loader!css-loader!less-loader" // 实现less文件打包
},
{
// 配置打包url()请求的资源
test: /\.(png|jpg|gif)$/,// 将来会将png,jpg,gif后缀的文件进行打包
loader:"url-loader?limit=40000" //依赖整url-loader
// limit用来设置文件的大小
// 2097152 ---> 2M 在图片大小为小于2M的时候直接将图片打包输出文件中
// 在图片大小为大于2M的时候直接将图片复制到当前的目录下
}
]
}
}
1.1.2. webpack中loader介绍
loader介绍
1.1.3. webpack相关配置
1.1.3.1. 打包css资源演示
npm i css-loader style-loader --save-dev
在webpack.config.js中配置这两个loader在项目中建立一个site.css文件,并且在main.js中导入在cmd中执行webpack命令
1.1.3.2. 打包sass资源演示
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
import '../statics/css/site.css'
- 在cmd中执行webpack命令
1.1.3.6. 利用webpack-dev-server实现热刷新配置
- 在package.json文件中配置webpack-dev-server命令
"scripts": {
"dev":"webpack-dev-server --inline --hot --open --port 5008"
}
- 配置html-webpack-plugin组件
// 导入html-webpack-plugin 包,获取到插件对象
var htmlwp = require('html-webpack-plugin');
plugins:[
new htmlwp({
title: '首页', //生成的页面标题,需要在模板index1.html中的title中使用:<%= htmlWebpackPlugin.options.title %>
filename: 'index.html', //webpack-dev-server在内存中生成的文件名称,自动将build注入到这个页面底部,才能实现自动刷新功能
template: 'index1.html' //根据index1.html这个模板来生成(这个文件请程序员自己生成)
})
]
- index1.html 模板页面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><%= htmlWebpackPlugin.options.title %></title>
<meta name="viewport"
content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
</head>
<body>
<div id="app">
</div>
</body>
</html>
- 运行
1.1.3.7. 利用webpack解析和打包 .vue组件页面
{
presets: ['es2015'],
plugins: ['transform-runtime'] //这句代码就是为了解决webpack1.x中打包.vue文件不报错,在webpack2+中正常
}
{
// 打包.vue文件
test:/\.vue$/, //表示当前要打包的文件的后缀正则表达式
loader:'vue-loader' //
}
- .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 运行项目
webpack--安装,使用的更多相关文章
- 【JavaScript】 Webpack安装及文件打包
背景 最近开启一个新项目,需要对前端的各类资源文件进行打包,经过多方调研后,决定使用webpack工具.但是网上的教程多是将webpack直接作为服务器使用,而我只是想将其作为单纯的资源打包工具而已. ...
- webpack安装配置使用教程详解
webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...
- webpack安装配置
webpack安装 1.安装之前你必须要安装node.js,如果你没安装可以在node.js网去下载node.js 2.全局安装webpack,打开cmd输入npm install webpack - ...
- 前端自动化构建工具webpack (一)之webpack安装 和 设置webpack.confi.js
目的: 模块化开发,组件化开发,让代码符合开发规范,更高效 webpack作用:从pack,就知道这是包的意思,比较专业点叫做前端自动化打包构建工具,代码错误检查,预处理,文件合并(打包),代码压缩 ...
- webpackt入门1:webpack介绍&webpack安装&使用webpack打包
本篇博客不是原创,简书的zhangwang写的,原文太长,我这里只是提取了一部分. 原文地址:入门webpack,看这篇就够了 一.Webpack解决了什么问题 问题1.JavaScript这个脚本化 ...
- webpack安装整理
早上有点时间大概安装一下webpack,操作一下顺便把步骤记一下,乱乱的,还是记录一下吧! webpack安装步骤:1. 2. 3.一直回车,出现如下图: 4.创建src和dist文件 5.需要在np ...
- webpack前端构建工具学习总结(一)之webpack安装、创建项目
npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器 ...
- 1、webpack安装
1.局部安装: npm i -D (npm install --save-dev的简写) 安装指定版本:npm i -D webpack @version 安装最新版:npm i -D webpack ...
- Webpack安装配置及打包详细过程
引言 前端经过漫长的发展,涌现出了很多实践方法来处理复杂的工作流程,让开发变得更加简便,其中,模块化可以使复杂的程序细化成为各个小的文件,而webpack并不强制你使用某种模块化方案,而是通过兼容所有 ...
- webpack 安装vue(两种代码模式compiler 和runtime)
使用webpack安装vue,import之后,运营项目报错,如下: [Vue warn]: You are using the runtime-only build of Vue where the ...
随机推荐
- 1、Zookeeper的功能以及工作原理
1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交 ...
- 2019-5-24-WPF-源代码-从零开始写一个-UI-框架
title author date CreateTime categories WPF 源代码 从零开始写一个 UI 框架 lindexi 2019-05-24 15:54:36 +0800 2018 ...
- 【深度学习】CNN 中 1x1 卷积核的作用
[深度学习]CNN 中 1x1 卷积核的作用 最近研究 GoogLeNet 和 VGG 神经网络结构的时候,都看见了它们在某些层有采取 1x1 作为卷积核,起初的时候,对这个做法很是迷惑,这是因为之前 ...
- Python中的urlparse、urllib抓取和解析网页(一)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- 不同目录cookie共享的问题解决 cookie不同页面访问不到的问题
一般设置cookie的方法是setcookie(key, value, expire),参数分别的意思是建.值.过期时间,这里是大众的默认设置方法,但是忽略了一个问题,setcookie还有path与 ...
- oracle创建新的连接(表空间?数据库?)
一.创建用户名密码 create user username identified by password --username 是用户名:password 是密码 二.给用户附权.撤权 gra ...
- MATLAB---dir函数
dir函数是最常用的转换路径的函数,可以获得指定文件夹下的所有子文件夹和文件,并存放在一个文件结构的数组中,这个数组各结构体内容如下: name -- 文件名 date -- 修改日期 b ...
- Math concepts / 数学概念
链接网址:Math concepts / 数学概念 – https://www.codelast.com/math-concepts-%e6%95%b0%e5%ad%a6%e6%a6%82%e5%bf ...
- Luogu P1278 单词游戏(dfs)
P1278 单词游戏 题意 题目描述 \(Io\)和\(Ao\)在玩一个单词游戏. 他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致. 游戏可以从任何 ...
- Leetcode400Nth Digit第N个数字
在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231). 示例 1: ...