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. nyoj--301--递推求值(经典矩阵运算)

    递推求值 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给你一个递推公式: f(x)=a*f(x-2)+b*f(x-1)+c 并给你f(1),f(2)的值,请求出f(n ...

  2. JavaScript / JQuery事件委托如何实现?

    一:什么是事件委托? 事件委托是利用事件冒泡,只指定一个事件处理程序来管理某一类型的所有事件. 事件委托就是利用事件冒泡原理实现的! 事件冒泡:就是事件从最深节点开始,然后逐步向上传播事件: 例:页面 ...

  3. Windows phone解决GB2312编码问题

    环境win8+vse for Windows phone 在网站http://encoding4silverlight.codeplex.com/上点击下载 之后有三个文件big5.bin,DBCSE ...

  4. Install the high performance Nginx web server on Ubuntu

    Look out Apache, there's a web server – Nginx (pronounced Engine X) – that means to dismantle you as ...

  5. (Spring+IBatis+Struts1+Struts2+Hibernate+Java EE+Oracle)

    原文出处:http://space.itpub.net/6517/viewspace-609654 1.Spring架构图 Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的 ...

  6. Eclipse使用struts2开发web应用快速搭建

    eclipse 下载javaEE版,这里用4.5(Mars). Tomcat8解压,设置好JAVA_HOME环境变量. 下载struts2官网上的lib包,struts-2.3.24-lib.zip, ...

  7. SQL 自动记录存储过程,表,函数的创建修改和删除 -相当于SVN一样

         在项目开发过程中,项目管理者通常都很希望对项目的开发进展有一个日志的记录.代码的记录和管理可以通过TFS或者VSS等工具去管理.但是数据库却没有记录开发日志这一功能.这在实际开发中很不方便, ...

  8. xml中单词下面有提示下划线

    xml中单词下面有提示下划线,表示单词拼写错误或者大小写错误

  9. 转载:跟我一起写 Makefile

    陈皓(http://my.csdn.net/haoel) 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得 ...

  10. 将对象a的属性赋值给对象b

    BeanUtils.copyProperties(a,b); 将a的属性赋值给b(ab的共同属性)