webpack使用的心得
1 . 我们需要使用打包工具,首先第一步就得 执行 npm install进行安装,可是很多时候 加载速度很慢,这个时候我们可以 用淘宝镜像源,参考地址:
https://npm.taobao.org/
使用方法如下:
npm install --registry=https://registry.npm.taobao.org
全局配置镜像源:
淘宝镜像:在命令行中敲入npm config set registry=https://registry.npm.taobao.org
朗沃服务器镜像:在命令行中敲入npm config set registry=http://192.168.8.10:7001
这样速度就加快了很多了,不信请试试
或者直接安装 cnpm ,
安装cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm -v 确认是否安装成功。以后加载模块直接使用 cnpm
以后安装包的时候就直接 cnpm install webpack速度就会快很多
2. 另外一个 是我们在项目中一般是 本地开发的时候一个 配置文件,发布的时候一个 配置文件,那如果我项目中配置本来不是很多的情况下,我不想分几个配置文件,只用一个webpack.config.js,可以是这样的话 我们就需要针对不用的开发环境 对配置进行管理,通常在插件里配置:
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': '"production"'
}
})
然后在package.json文件里配置变量:
如:process.env是一个环境变量,所以需要你设置NODE_ENV变量,
on OS X or Linux: export NODE_ENV=development
windows: SET NODE_ENV=development
完整的命令如下:
export NODE_ENV=development && webpack 或者
export NODE_ENV=development && webpack-dev-server --inline
3. 还有一个 我们比较关注的是,在项目中我们希望打包多个css文件,在项目中根据情况引用,可以参考如下链接,讲解的非常清楚:
https://webpack.github.io/docs/stylesheets.html
4. 在项目中如果需要有全局变量,得用window去定义,比如有一个global.js文件里,如果需要把某个函数或者变量当成全局的,则可以这样:
global.js:
window.globalFun=function() {
var test='123';
console.log(test);
}
在global.html文件引入global.js,这样在各个.js/.jsx文件就可以直接用globalFun这个全局函数了。
5. 在项目比较大的情况下,会有很多输入的文件,我们不可能手动的去一个个添加配置,因为文件也会随时变化,包括文件名也可以会做修改,所以我们可以用glob插件帮我们做正则匹配,
安装:npm install glob
使用:var glob=require('glob');
var files = glob.sync(path.join(staticPath, '*/js/*.jsx'));
var newEntries = {}; files.forEach(function(file){
var substr = file.match(/resources\/static(\S*)\.jsx/)[];
var strObj=substr.split('/');
if(strObj[]=='public') {
if(/global_page/.test(strObj)) {
newEntries[substr] = file;
}
}
else {
newEntries[substr] = file;
}
});
commonOptions.entry = newEntries;
console.log(newEntries);
6. 在项目中对图片的打包路径和格式
webpack使用的心得的更多相关文章
- 前端性能优化--图片懒加载(lazyload image)
话说前头: 上次写了一篇webpack的学习心得,webpack能做到提升前端的性能,其模块打包最终生成一个或少量的文件能够减少对服务端的请求.除此之外,本次的图片懒加载(当然不仅限于图片,还可以有视 ...
- sublime,webstrom,vscode的使用感受,以及对于vue和webpack的支持,还有一些快捷键使用心得
从最开始用sublime3到webstrom再到vscode,我的感觉如下: sublime首次加载项目文件速度较快,每次装插件有点麻烦,插件很丰富,也很好用. webstrom首次加载项目文件速度奇 ...
- webpack vuejs项目学习心得
最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/d ...
- webpack 学习心得(一)
Webpack 是一个模块打包器.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 因为本人也正在学习webpack ,所以此篇文章比较入门. 首先你想使用webp ...
- 前端模块化工具--webpack学习心得
话说前头 webpack前段时间有听说一下,现在已经到了3.x的版本,自己没去接触.因为之前使用gulp来作为自己的项目构建工具.现在感觉gulp使用的趋势在减少.现在这段时间去接触了webpack, ...
- webpack使用打包的一些心得
webpack打包工具: module.exports:输出require:引入 require('!style-loader!css-loader!./***.css'):静态样式引入 npm in ...
- webpack 错误心得
使用webpack 打包项目已经有很长一段时间了,在使用过程中也碰到各种恶样的坑,常见的错误,当然也有少见的错误,今天写这篇文章主要是想分享找出错误和解决错误的方法. 而不是分享具体的错误例子,因为实 ...
- webpack解惑:多入口文件打包策略
本文是我用webpack进行项目构建的实践心得,场景是这样的,项目是大型类cms型,技术选型是vue,只支持chrome,有诸多子功能模块,全部打包在一起的话会有好几MB,所以最佳方式是进行多入口打包 ...
- 【前端构建】WebPack实例与前端性能优化
计划把微信的文章也搬一份上来. 这篇主要介绍一下我在玩Webpack过程中的心得.通过实例介绍WebPack的安装,插件使用及加载策略.感受构建工具给前端优化工作带来的便利. 壹 | Fisrt 曾几 ...
随机推荐
- C# 在Repeater 的ItemDataBound 如何转换e.Item.DataItem 的类型
1.使用DataSet和DataTable绑定数据源时,用 DataRowView view = (DataRowView)e.Item.DataItem; 2.DataReader绑定数据源时,用 ...
- 【转】JavaScript常用代码书写规范
javascript 代码规范 代码规范我们应该遵循古老的原则:“能做并不意味着应该做”. 全局命名空间污染 总是将代码包裹在一个立即的函数表达式里面,形成一个独立的模块. 不推荐 1 2 3 var ...
- [Erlang 0121] 当我们谈论Erlang Maps时,我们谈论什么 Part 3
Erlang/OTP 17.0 has been released http://www.erlang.org/download/otp_src_17.0.readme Erlang/OTP ...
- 3Sum algorithm - 非常容易理解的实现 (java)
原题重述:(点击图片可以进入来源链接) 这到题目的中文解释是, 输入一个数组,例如{-1 0 1 2 -1 -4},从数组中找三个数(a,b,c),使得其和0,输出所有的(a,b,c)组合. 要求ab ...
- 数据库设计范式2——BC范式和第四范式
我在很久之前的一篇文章中介绍了数据库模型设计中的基本三范式,今天,我来说一说更高级的BC范式和第四范式. 回顾 我用大白话来回顾一下什么是三范式: 第一范式:每个表应该有唯一标识每一行的主键. 第二范 ...
- 织梦Dedecms使用Nginx的安全设置
首先需要说明的是,任何程序都是有漏洞的,我们需要做好一些必要的防范,来减少由于程序漏洞造成的损失.织梦的漏洞多,这个是很多人的想法.不过大家如果做好了织梦系统的文件夹权限什么的设置,很多漏洞也是用不上 ...
- Linux系统用户和用户组介绍
1.请问如下登录环境故障的原理及解决办法? [root@server test]# useradd rr ##创建用户rr [root@server test]# id rr uid=510(rr) ...
- github page+jekyll搭博客初体验
div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin: 0 0 10px; padding ...
- 【JavaWeb学习】文件的上传和下载
一.文件上传 1.1.概述 实现web开发中的文件上传功能,需完成如下二步操作: 在web页面中添加上传输入项 在servlet中读取上传文件的数据,并保存到本地硬盘中 如何在web页面中添加上传输入 ...
- 为什么要在游戏开发中使用ECS模式
http://www.richardlord.net/blog/why-use-an-entity-framework Why use an entity system framework for g ...