webpack简短版零工程构建项目(二)
webpack使用总结
1.初始化一个项目
npm init -y
之后会生成一个package.json配置文件。
2.安装webpack,vue,vue-loader
npm install webpack vue vue-loader
之后可相应的安装css-loader,vue-template-compiler编译vue模板的依赖包
npm install css-loader vue-template-compiler
3.在项目文件下新建src文件(我们用来开发的源代码文件),在src下新建index.js作为我们项目的入口文件,新建app.vue作为我们vue模板文件。在项目文件下新建webpack.config.js,进行配置。
const path = require("path");//nodejs中的基本包,处理路径的
module.exports = {
entry: path.join(__dirname,"src/index.js"),//项目唯一入口,__dirname代表文件所在的目录
output: {
filename: "bundle.js",
path: path.join(__dirname,"dist")//webapck打包后输出的文件路径
}
}
4.修改package.json文件
"scripts": {
"build": "webpack --config webpack.config.js"
//只有在这里面写webpack他才会调用这里面的webpack版本,否则会调用全局的webpack,会导致很多版本不同出错
}
下面可进行测试打包功能,运行npm run build看是否打包成功,是否创建新的文件dist有bundle.js
可能遇到的错误提示"install webpack-cli -D",这个问题很烦,重新安装,不行卸载在安装。
5.配置服务器server
npm install webpack-dev-server
安装之后配置package.json文件
"scripts": {
"dev": "webpack-dev-server --config webpack.config.js"
}
之后在webpack.config.jsmodule.exports对象中配置全局的编译平台。
module.exports = {
target: "web",
entry: "..."
}
再次还需安装一个cross-env的插件用来配置运行环境变量。
npm install cross-env
安装之后修改package.json文件
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js"
再来修改webpack.config.js文件,根据判断运行环境变量(确定是开发平台还是生产环境)配置服务器
const isDev = process.env.NODE_ENV === "development";//判断是不是develment开发者环境。在cross-env里面设置的环境变量都在process.env这个对象读取
const config = {
target: "web",
...
}
if(isDev) {
config.devetool = "#cheap-module-eval-source-map",//映射编译后的代码,(.vue,es6代码映射成浏览器识别的代码)
config.devServer = {//给config添加一个对象。server是webpack2.0
port: "8000",
host: "0.0.0.0",//可以通过localhost,127.0.0.1,访问,也可以手机测试,其他本机内网也可以访问。
overlay: {
errors: true//编译时出现错误显示
},
//热加载hot,需要webpack的HotModuleReplacementPlugin插件
hot: true//修改了一个组件的代码,至渲染组件的数据,不会整个页面刷新,安装插件
},
config.plugins.push(//热加载
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsplugin()
)
}
module.exports = config;
在使用热跟新时,直接保存会导致页面渲染多个DOM节点。这是需要在运行环境中配置
"dev": "cross-env NODE_ENV=development webpack-dev-server --mode development --config webpack.config.js"
https://github.com/Wunworld/myWebpack
webpack简短版零工程构建项目(二)的更多相关文章
- webpack(零工程构建一个前端项目)详解
工作流程记录: 1.初始化项目:npm init -y 2.安装webpack,vue,vue-loader npm install webpack vue vue-loader 3.按装之后根据警告 ...
- Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构
通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目 ...
- webpack 学习1 安装构建项目
本文中使用的webpack版本是4+,请注意区分 node.js安装 node.js下载地址 选择较低版本的稳定版下载,下载完成后得到的是一个msi文件,点击安装即可 安装完毕以后新建一个文件夹,并在 ...
- webpack踩坑之路——构建基本的React+ES6项目
转自:http://www.cnblogs.com/ghost-xyx/p/5483464.html webpack是最近比较火的构建工具,搭配上同样比较火的ReacJS与ES6(ES2015)一定是 ...
- webpack进阶构建项目(一)
webpack进阶构建项目(一) 阅读目录 1.理解webpack加载器 2.html-webpack-plugin学习 3.压缩js与css 4.理解less-loader加载器的使用 5.理解ba ...
- Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面
制作.vue模板文件 通过前面的两篇博文的学习,我们已经建立好了一个项目.问题是,我们还没有开始制作页面.下面,我们要来做页面了. 我们还是利用 http://cnodejs.org/api 这里公开 ...
- Vue2+VueRouter2+webpack 构建项目实战(一):准备工作
环境准备 首先,要开始工作之前,还是需要把环境搭建好.需要的环境是nodejs+npm,当然现在安装node都自带了npm. 在终端下面输入命令node -v会有版本号出来.就说明安装成功了.输入np ...
- vue2.0+webpack+vuerouter+vuex+axios构建项目基础
前言 本文讲解的是vue2.0+webpack+vuerouter+vuex+axios构建项目基础 步骤 1.全局安装webpack,命令 npm install webpack -g 注意,web ...
- Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表
Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表: Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述
随机推荐
- php设计模式之工厂方法模式
php设计模式之工厂方法模式 工厂方法模式 工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Pol ...
- nyoj--37--回文字符串(动态规划)
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然, ...
- swoole-tcp-server
swoole-tcp-server 标签(空格分隔): php,linux 执行程序 php swoole_server.php 查看端口:netstat -antpl 连接服务器:telnet ip ...
- Cocos结构
基类:CApplicationProtocol 纯虚函数virtual bool applicationDidFinishLaunching() = 0; CCApplication继承于CCAppl ...
- HD-ACM算法专攻系列(13)——How Many Fibs?
问题描述: 源码: import java.math.BigInteger; import java.util.*; public class Main { //主函数 public static v ...
- Windows phone解决GB2312编码问题
环境win8+vse for Windows phone 在网站http://encoding4silverlight.codeplex.com/上点击下载 之后有三个文件big5.bin,DBCSE ...
- Vue.js Ajax动态参数与列表显示
一.动态参数显示 1.引入js <script type="text/javascript" src="/js/vue.min.js"></s ...
- OpenGL编程(六)通过三角形绘画出3D模型
使用三角形绘制3D模型 三角形是基本的多边形,任何多变形都能由三角形组成.三角形是由三个顶点的连线组成.三个点分别是v0:v1:v2. 1.绕法 从某个顶点开始,有两种连线的方法,顺时针和逆时针,这是 ...
- STM8S103之串口
1.串口发送中断标志的清除,只能靠往UART_DR中写数据,这个的本质含义是,发送中断是指发送完成中断,所以往UART_DR中写数据可以清除发送中断标志.但是这样又会导致新写的数据完成后又会产生中断, ...
- size_type类型
由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型 string::size_type它 ...