webpack 学习心得(一)
Webpack 是一个模块打包器。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
因为本人也正在学习webpack ,所以此篇文章比较入门。
首先你想使用webpack 需要安装node,推荐最好使用的是4.0以上(为了避免依赖安装错误)
npm install -g webpack
安装 webpack
你可以手动创建相应文件,也可以这样
mkdir webpackdemo
cd webpackdemo
创建 webpackdemo 文件夹 进入当前目录
我们需要一个 package.json 文件记录我们的使用依赖以及一些 demo 信息
这个我们通过
npm init
输入名称 ,描述...(以为这个demo所以无所谓,可以一直回车)完成后,在当前文件夹下 会生成 package.json 文件
此时我们需要手动创建一个配置文件 webpack.config.js (我们每次编译文件时,会自动查找该文件)
var webpack = require('webpack');
var Promise = require('es6-promise').Promise;
module.exports = {
entry:{
init:'./mySuc/index'
},
output:{
path:'./build',
publicPath: 'build/',
filename:'[name].js'
},
module:{
loaders:[{
test:/\.css$/,
loaders:['style','css']
},{
test: /\.(png|jpg)$/,
loader: 'url?limit=1200&name=[hash].[ext]'
}
]
},
// resolve.extensions
// 用于指明程序自动补全识别哪些后缀, 注意一下,
// extensions 第一个是空字符串! 对应不需要后缀的情况.
resolve: {
extensions: ['', '.coffee', '.js']
}
}
entry 目标文件入口 在这里我命名的是 index.js 内容为
console.log("ok!");
output 输出设置
path 当前输出路径
publicPath 服务器输出路径
filename 文件输出名字 现在我们可以在当前目录 新建一个html ,引入编译后的 文件 init.js 现在我们在 用 webpack 编译,刷新页面 在控制台可以 看到 ok!
module 是我门加载文件使用的 依赖配置 我这里用的 css模块依赖 和图片 模块依赖
在加载配置前,我们需要在安装模块
加载css 模块(页面嵌入模式)
npm install css-loader style-loader --save-dev
加载图片打包模块
npm install url-loader --save-dev
着这里有一个bug 就是 node 版本是 5.7 的时候,加在css 模块是会出现一个错误
在此感谢群友的帮助 (雨神),解决的方式如下
npm install es6-promise@3.1.
安装后在配置文件里面添加
var Promise = require('es6-promise').Promise;
到此一个简单的webpack demo 就完成了。
webpack 学习心得(一)的更多相关文章
- 前端模块化工具--webpack学习心得
话说前头 webpack前段时间有听说一下,现在已经到了3.x的版本,自己没去接触.因为之前使用gulp来作为自己的项目构建工具.现在感觉gulp使用的趋势在减少.现在这段时间去接触了webpack, ...
- PWA学习心得
PWA学习心得 一.什么是PWA Progressive Web App , (渐进式增强 WEB 应用) 简称 PWA ,是提升WebApp的体验的一种新方法,能给用户原生应用的体验. PWA ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(七) 查询
我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- selenium 多线程
http://www.cnblogs.com/dingmy/p/3438084.html
- [iOS Animation]-CALayer 绘图效率
绘图 不必要的效率考虑往往是性能问题的万恶之源. ——William Allan Wulf 在第12章『速度的曲率』我们学习如何用Instruments来诊断Core Animation性能问题.在构 ...
- Java面向对象设计
1.少了程序入口会在输出的地方报这个错: Syntax error, insert "... VariableDeclaratorId" to complete FormalPar ...
- php+socket模拟表单发送请求
<?php /** * http请求类(php + socket) * @todo 这里还有很多未完善的地方,仅有简单的get post head请求 * @author chuangrain@ ...
- 测试部署nginx
1.已经安装了nginx 2.修改tomcat端口号为10081(可随意) 3 修改nginx的nginx.config 如下: upstream apiserver { ip_ ...
- html小知识
button标签如果不设置type,默认是submit,会自动提交表单 input type=file, 添加multiple属性后可以同时选择多个文件,同时name设置接受一个数组 <inpu ...
- FAB、TextInputLayout及Snackbar笔记
FloatingActionButton 由于FloatingActionButton是重写ImageView的,所有FloatingActionButton拥有ImageView的一切属性. 控制F ...
- python 错误AttributeError: 'module' object has no attribute 'AF_INET'
写了一个简单的python socket的程序.运行时,报错如下 原因:文件的命名与Python的function的命名冲突 修改名称后,发现还是无法运行,检查目录下面是否有 这样子的一个文件,删除即 ...
- IOS开发-UI学习-使用代码创建button
使用代码创建button分5个步骤,分别是: 1.定义一个按钮,根据定义位置不同可定义为局部变量或者全局变量: 2.初始化按钮,一般使用一个矩形初始化: 3.设置按钮控件的其他属性,如背景图片,或者背 ...
- HTML CSS基础(二)
块元素和行内元素 HTML元素根据表现形式,可以分为2类: (1)块元素(block): (2)行内元素(inline): 任何HTML元素都属于这两类中的其中一类. 2.块元素特点: (1)独占一行 ...