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重制版(一)基础知识概述
随机推荐
- 时间处理工具类TimeUtil
转自:https://cnblogs.com/ityouknow/p/5662753.html 功能 Date与String之间的互相转换,以及一些特殊格式的时间字符串处理 代码 /** * 类名:T ...
- HD-ACM算法专攻系列(13)——How Many Fibs?
问题描述: 源码: import java.math.BigInteger; import java.util.*; public class Main { //主函数 public static v ...
- android全屏去掉title栏的多种实现方法
android全屏去掉title栏的多种实现方法 作者: 字体:[增加 减小] 类型:转载 时间:2013-02-18我要评论 android全屏去掉title栏包括以下几个部分:实现应用中的所有ac ...
- JavaScript学习——JS对象和全局函数
1. Array对象 数组的特点:长度可变!数组的长度=最大角标+1 2.Boolean对象 如果value 不写,那么默认创建的结果为false 3.Date对象 getTime()返回1970年1 ...
- PostgreSQL 数据库性能调优的注意点
PostgreSQL提供了一些性能调优的功能.主要有如下几个方面.1.使用EXPLAIN EXPLAIN命令可以查看执行计划,这个方法是我们最主要的调试工具. 2.及时更新执行计划中使用的统计信息 ...
- 优动漫PAINT-简单的树、叶教学
如题,简单.好用:其实说的还是一个观察的事.看你是否足够细心,对于树叶的生长.枝桠和树干的关系是否了解咯. 对于这样的树枝丫和叶子完全可以使用优动漫PAINT完成,简单又快捷,软件下载:www.don ...
- pace.js 原理(转)
pace.js监控了什么: pace.js对于加载进度监控了什么呢?通过阅读源码,我们看到整体的进度有四个部分组成:document,elements,eventLag和ajax这四种监视器(Moni ...
- Hadoop-2.4.1 ubuntu集群安装配置教程
一.环境 系统: Ubuntu 14.04 32bit Hadoop版本: Hadoop 2.4.1 (stable) JDK版本: 1.7 集群数量:3台 注意事项:我们从Apache官方网站下载的 ...
- UNIX系统高级编程——第五章-标准I/O库-总结
基础: 标准I/O库在ANSI C中定义,可移植在不同的系统 文件指针(FILE):标准I/O库操作的不是文件描述符,而是流.FILE文件指针包含的是维护流所需的信息 通过函数fileno获取流的文件 ...
- state.sls web.apache
[root@master01 web]# salt 'node02' state.sls web.apache node02: ---------- ID: apache-inst ...