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简短版零工程构建项目(二)的更多相关文章

  1. webpack(零工程构建一个前端项目)详解

    工作流程记录: 1.初始化项目:npm init -y 2.安装webpack,vue,vue-loader npm install webpack vue vue-loader 3.按装之后根据警告 ...

  2. Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构

    通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目 ...

  3. webpack 学习1 安装构建项目

    本文中使用的webpack版本是4+,请注意区分 node.js安装 node.js下载地址 选择较低版本的稳定版下载,下载完成后得到的是一个msi文件,点击安装即可 安装完毕以后新建一个文件夹,并在 ...

  4. webpack踩坑之路——构建基本的React+ES6项目

    转自:http://www.cnblogs.com/ghost-xyx/p/5483464.html webpack是最近比较火的构建工具,搭配上同样比较火的ReacJS与ES6(ES2015)一定是 ...

  5. webpack进阶构建项目(一)

    webpack进阶构建项目(一) 阅读目录 1.理解webpack加载器 2.html-webpack-plugin学习 3.压缩js与css 4.理解less-loader加载器的使用 5.理解ba ...

  6. Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面

    制作.vue模板文件 通过前面的两篇博文的学习,我们已经建立好了一个项目.问题是,我们还没有开始制作页面.下面,我们要来做页面了. 我们还是利用 http://cnodejs.org/api 这里公开 ...

  7. Vue2+VueRouter2+webpack 构建项目实战(一):准备工作

    环境准备 首先,要开始工作之前,还是需要把环境搭建好.需要的环境是nodejs+npm,当然现在安装node都自带了npm. 在终端下面输入命令node -v会有版本号出来.就说明安装成功了.输入np ...

  8. vue2.0+webpack+vuerouter+vuex+axios构建项目基础

    前言 本文讲解的是vue2.0+webpack+vuerouter+vuex+axios构建项目基础 步骤 1.全局安装webpack,命令 npm install webpack -g 注意,web ...

  9. Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表

    Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表:  Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述

随机推荐

  1. Matplotlib画图可选颜色

    经常会有画图找不到合适颜色的尴尬情景, 在网上找到一张matplotlib可以用的颜色图:

  2. JavaScript学习记录一

    title: JavaScript学习记录一 toc: true date: 2018-09-11 18:26:52 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  3. linux系统定时任务crond入门

    1,Crond: Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或者软件.(Centos5以后默认存在) 当优化开机自启动的时候,第一个就是crond. Crond服务默认情况( ...

  4. Swift 中的协议

    Swift 中的协议协议是为方法.属性等定义一套规范,没有具体的实现,类似于Java中的抽象接口,它只是描述了方法或属性的骨架,而不是实现.方法和属性实现还需要通过定义类,函数和枚举完成. 协议定义 ...

  5. oc消息转发机制本质

    第一级转发:主体不变,动态添加对应函数: 第二级转发:函数不变,切换接收主体: 第三极转发:函数签名不变,主体和函数都有可能变化: 1.使用函数的动态添加技术: 2.使用的类似is-a swzzing ...

  6. 《Unix环境高级编程》读书笔记 第10章-信号

    1.引言 信号是软件中断. 信号提供了一种处理异步事件的方法. 2. 信号概念 信号的名字都是以3个字符SIG开头. Linux3.2.0支持31种信号.FreeBSD.Linux和Solaris作为 ...

  7. Web前端为什么这么火爆?

    Web前端为什么这么火爆? 互联网发展到今天,全球已有28.9亿互联网用户,中国有355万网站,6.5亿网民,13亿手机用户,5亿微信用户,当步入互联网+时代后,互联网已经越来越复杂,纷繁复杂的互联网 ...

  8. 利用fabric批量安装kvm虚拟机及其xp

    公司一批PC机需要安装多个虚拟机跑任务,搞来搞去决定用centos7安装KVM来跑.于是先折腾了一下午,利用早先搭建好的cobbler给PC机安装OS.然后fabric批量部署. 环境:centos7 ...

  9. wepy框架的API的预加载$preload这功能阔以喔

    优势:比 url 传递.或是 storage .或是 globalData 更方便 1:如 url 不能直接传一个 Object 要传的又要序列化与反序列化操作,麻烦(普通的单个变量还是挺便捷简单实在 ...

  10. python登录注册改良版

    #在执行本脚本的时候,需要先注册,否则会报字符串不匹配sum=3while True: #如果条件为真,则一直循环 print("先注册,在登录") print("1.注 ...