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
.png)
- 在项目中建立一个site1.scss文件,并且在main.js中导入
.png)
- 在cmd中执行webpack命令
1.1.3.4. 打包url()请求的资源
- 在webpack.config.js中配置这两个loader
.png)
- 在site.css文件导入一个图片
.png)
- 在cmd中执行webpack命令
1.1.3.5. ECMAScript6语法转ECMAScript5语法
- 在webpack.config.js中配置loader
.png)
- 在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、 创建仓库和提交源码
.png)
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 ...
随机推荐
- OCCT 7.4.0 beta version is available
OpenCASCADE 7.4.0测试版本发布 OCC在9月16号发布了opencascade740 beta测试版本,新版本里面做了如下一些重点修改如下: 造型算法部分主要对网格化算法BRepMes ...
- Activiti的helloworld
所有语言的第一个程序都叫helloworld,姑且也称这第一个activiti程序为helloworld. 一个工作流想要实现,必定有一个对应的部署文件,利用流程设计器设计一个简单的流程,请假-> ...
- Tomcat--远程Debug以及参数配置调优
本文会讲解Tomcat远程Debug调试,Tomcat-manager监控(简单带过),psi-probe监控和Tomcat参数调优.本文基于Tomcat8.5版本. Tomcat远程Debug: 远 ...
- 19-10-24-H
H H H H H H ZJ一下: T1只会暴力,测试点分治. (表示作者的部分分并没有给够,暴力加部分表按测试点分类可以得60吧……) T2先直接手玩第一个子任务. 然后就$Find$了一个神奇的( ...
- vim中利用swp文件进行恢复
经常电脑因为没电或者强行关闭vim,会导致原文件没有保存, 这种情况下vim会自动保存一个.swp文件,需要恢复时, 使用vim -r filename 期中-r意思为recovery 恢复之后最好删 ...
- ubuntu触摸板失效问题
很早便遇到这个问题,今天忍无可忍才度娘了一发.亲测有效! 用Ubuntu Tweak备份过桌面的配置,因此我尝试恢复桌面设置,果然奇迹发生了,触摸板立刻恢复了正常使用! 没有备份过的相信使用其中的重置 ...
- Android实战技巧之四十一:制作自己的Android SDK
标签: sdkandroid定制sdk 2015-09-21 18:05 11237人阅读 评论(2) 收藏 举报 分类: Android(260) 版权声明:本文为博主原创文章,未经博主允许 ...
- DFS-深度优先搜索与BFS-广度优先搜索
1.DFS DFS是一个递归过程.(类似于二叉树的前序遍历) 参考:深度优先搜索(Depth-First-Search)精髓 2.BFS 可以理解为按层遍历,借助队列结构来实现.(类似于二叉树的层次遍 ...
- 通过三个DEMO学会SignalR的三种实现方式 转载https://www.cnblogs.com/zuowj/p/5674615.html
一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...
- WIX、Squarespace、WordPress 三者的优劣分别是什么?
层出不穷的智能建站,模板建站,源码建站,云建站,仿站,各种建站概念都抛洒于红海之中.到底什么样的网站适合自己,什么样的网站值得我们去消费,什么样的网站能长久,是个非常值得思考的问题. 网站建设技术非常 ...

.png)
.png)
.png)
.png)