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 ...
随机推荐
- 数据库备份还原——mysqlbackup与mysqldump对比测试
1 环境描述 1.1 硬件环境 服务器类型:华为RH5885 IP: 10.148.128.100 内存: 64G 物理CPU个数:4 CPU核数:8 逻辑CPU个数:64 Int ...
- 02_Hibernate持久化配置
一.hibernate对象持久化 Web开发的分层: 为了把数据访问细节和业务逻辑分开, 一般把数据访问作为单独的持久化层.DAO是数据访问对象,使用hibernate后,数据访问对象中操作的API将 ...
- 搭建nodejs代理服务器,从而解决跨域问题
先在同级处新建js文件(app.js) 使用时npm 安装 Node.js 模块语法 也就是对应的文件所在地“npm install”一下 然后安装对应需要的模块: expresspathreques ...
- s3fs 挂载minio为本地文件系统
https://github.com/s3fs-fuse/s3fs-fuse echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3f ...
- Jeecg-Boot 开发环境准备(二):开发工具安装
目录索引: 后端开发工具 前端开发工具 Nodejs镜像 WebStorm入门配置 JeecgBoot采用前后端分离的架构,官方推荐开发工具 前端开发: Webstrom 或者 IDEA 后端开发: ...
- vue 路由入门(vue-router)
新建的 js 文件如下: import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) //全局使用该组件 / ...
- LRU Cache数据结构简介
什么是LRU Cache LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法. 什么是Cache?狭义的Cache指的是位于CPU和主存间的快速RAM ...
- apache支持多主机头,并防止恶意空主机头的配置实现
首先,需要启用 LoadModule vhost_alias_module modules/mod_vhost_alias.so # Virtual hostsInclude conf/extra/h ...
- 1.开始Springboot 基本配置和helloworld
1 pom.xml 首先引入两个xml节点 <!--这里面继承了springboot很多相关依赖--> <parent> <groupId>org.springfr ...
- 移动相关的css
1.首先认识第一个apple-mobile-web-app-capable 删除默认的苹果工具栏和菜单栏. <meta name="apple-mobile-web-app-capab ...