webpack2.0简单配置教程
以前习惯用gulp+less来开发项目,由于公司项目用的vue开发的,所以学下webpack这个打包工具。以下是我学习时的笔记,希望给在webpack配置过程中遇到麻烦的朋友一丝帮助。
目前只配置了sass,css,js,html,es6,图片编译,字体引入,热加载这几项,简单项目已经够用。
如果深入webpack可以配置很多,原谅我也只是初次配置
1.首先建一个自己的项目文件夹,npm init -y快速生成一个配置文件
2. npm i webpack -D 本地安装webpack
3. npm i webpack-dev-server -g 全局安装webpack-dev-server
4. npm i webpack-dev-server -D 添加到package.json文件里
5.以下是我的package.json,里面的包都是常用的
{
"name": "webpack-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack-dev-server",
"build": "webpack"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.0.0",
"babel-loader": "^6.0.0",
"babel-preset-latest": "^6.0.0",
"cross-env": "^3.0.0",
"css-loader": "^0.28.0",
"file-loader": "^0.9.0",
"extract-text-webpack-plugin": "^2.1.0",
"html-webpack-plugin": "^2.28.0",
"node-sass": "^4.5.2",
"sass-loader": "^6.0.3",
"style-loader": "^0.16.1",
"webpack": "^2.2.0",
"webpack-dev-server": "^2.4.2"
}
}
根目录下的webpack.config.json
// html压缩
var HtmlWebpackPlugin = require('html-webpack-plugin');
// js css分离
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var path = require('path')
var webpack = require('webpack') module.exports = {
// 配置入口文件
entry: {
build: './src/main.js'
}, // 配置输出路径
output: {
path: path.resolve(__dirname, './dist'),
// publicPath: '/dist/',//指定资源引用目录
filename: '[name].js'
}, // loader模块配置
module: {
loaders: [
// js 文件
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
// css 文件
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
},
//解析.scss文件
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: ["css-loader", "sass-loader"]
})
},
// 字体
{
test: /\.(eot|svg|ttf|woff|woff2)(\?\S*)?$/,
loader: 'file-loader'
},
// 图片
{
test: /\.(png|jpe?g|gif|svg)(\?\S*)?$/,
loader: 'file-loader',
query: {
name: '[name].[ext]?[hash]'
}
}
]
},
// 插件配置
plugins: [
new HtmlWebpackPlugin({
template: './index.html' // 模版文件
}),
new ExtractTextPlugin({
filename: 'style.css'
/*filename: (getPath) => {
return getPath('dist/[name].css').replace('dist','css')
}*/
})
],
// webpack-dev-server 热加载
devServer: {
historyApiFallback: true,
noInfo: true
},
devtool: '#eval-source-map'
}
.babelrc文件
{
"presets": [
["latest", {
"es2015": { "modules": false }
}]
]
}
index.html移入编译后的文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="dist/styls.css">
<script src="dist/build.js"></script>
</head>
<body>
<h1>hello</h1>
<h2>hello</h2>
<p>hello <span>hello world</span></p>
</body>
</html>
我的项目目录

main.js里面移入所有需要打包的文件
import {hello,hello1} from './script/hello1';
import {demo} from './script/hello';
import './style/hello.css';
import './style/hello.scss';
命令行npm start 启动项目 npm run build 编译项目
我托管到了github,有兴趣的同学可以参考下:https://github.com/wmui/webpack-demo
webpack2.0简单配置教程的更多相关文章
- Linux下的GitHub安装与简单配置教程 ~ 转载
Linux下的GitHub安装与简单配置教程 1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...
- hadoop 2.0 详细配置教程(转载)
转载: http://www.cnblogs.com/scotoma/archive/2012/09/18/2689902.html 作者:杨鑫奇 PS:文章有部分参考资料来自网上,并经过实践后写出, ...
- entity framework core 2.0 & sqlite 配置教程
我用的是vs2017,需要下载.net core 2.0 sdk. .net core 下载地址:点我下载 1.在Visual Studio之中创建一个.net core的控制台项目 2.修改cspr ...
- Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程
http://www.embeddedlinux.org.cn/emb-linux/entry-level/201612/21-6005.html 随着深度学习快速发展的浪潮,许多有兴趣的工作者都转入 ...
- Linux下的GitHub安装与简单配置教程
1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与使用 在ubuntu下可以使用如下命令进行查看系统 ...
- hadoop 2.0 详细配置教程
http://www.cnblogs.com/scotoma/archive/2012/09/18/2689902.html
- iis8.0 https配置教程
打开iis>选择左侧根>点击右侧服务器证书 打开界面后 空白处点击右键选择导入 成功导入证书 选择需要绑定证书的网站点击选择>编辑绑定>ssl证书请选择您导入的证书 点击SSL ...
- struts2.0简单教程
Struts2.0简单配置教程: 在Eclipse中配置Struts2 步骤一:首先打开java ee并建立一个动态网站项目,我建立的项目名为TestDemo,如下图: 建立之后可在左侧发现工程,展开 ...
- 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)
github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...
随机推荐
- 使用TortoiseGit操作分支的创建与合并功能集合
使用TortoiseGit操作分支的创建与合并 本文在介绍了软件安装和设置后, 写了TortoiseGit 常用的一些功能, 包括: 创建新库 添加文件及文件夹 创建分支 看分支情况及修改log 比较 ...
- c#打印(转)
柴门闻狗吠,风雪夜归人.野旷天低树,江清月近人.香雾云鬟湿,清辉玉臂寒.莫愁前路无知己,天下谁人不识君.常将冷眼 看螃蟹,看你横行到几时.要在vs2005中实现最基本的打印文本基本上需要以下几个步骤 ...
- R 画structure图
id percent k1_B04_WL-1.fs_1 0.021 k31_B04_WL-1.fs_1 0.624 k21_B04_WL-1.fs_1 0.355 k1 K=3 数据输 ...
- 一款基于jquery的侧边栏导航
之前为大家介绍了好多导航菜单,今天给大家分享一款基于jquery的侧边栏导航.这款导航侧边滑出,适合放在手机网页或webapp.一看下实现的效果图: 在线预览 源码下载 实现的代码. html代码 ...
- java TreeMap 源代码分析 平衡二叉树
TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点. TreeSet 和 TreeMap 的关系 为了让大家了解 TreeMap 和 Tre ...
- Java-jdbc增删改查操作
java jdbc增删改查操作: package com.gordon.jdbc; import java.sql.Connection; import java.sql.DriverManager; ...
- js学习系列之-----apply和call
apply call 从字面意思就看出来,申请请,呼叫. 打个比方就是别人有什么功能,你向别人,申请 呼叫 一下,哥们拿你的功能用一下,而apply 和call就是实现这样的功能 apply 和cal ...
- Translating between qplot and base graphics
Translating between qplot and base graphics Description There are two types of graphics functions in ...
- Python 字符串语法,for
#-*- coding:utf-8 -*- #字符串的拼接方式一 a = "hello" b = "world" c = a + " " + ...
- WCF系列
转自:1) http://www.cnblogs.com/zhili/p/WCFSummary.html 2) http://www.cnblogs.com/artech/archive/2009/ ...