node+bower+gulp+webpack初见

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

node

node模块管理是通过NPM(即 Node Package Manage,是 NodeJS 模块管理工具)来处理各模块之间的依赖。NPM按树状结构来管理的,支持某模块的不同版本。

[前提是本机已安装node、git环境],配置好某项目的npm配置文件package.json后,在当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中的模块安装到node-modules文件夹下。

*使用npm安装一些包缓慢或安装失败,建议使用淘宝镜像。

镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):
1.通过config命令
npm config set registry https://registry.npm.taobao.org 
npm info underscore (如果上面配置正确这个命令会有字符串response)
2.命令行指定
npm --registry https://registry.npm.taobao.org info underscore 
3.编辑 ~/.npmrc 加入下面内容
registry = https://registry.npm.taobao.org

搜索镜像: https://npm.taobao.org
建立或使用镜像,参考: https://github.com/cnpm/cnpmjs.org

bower

bower是使用nodejs开发,用于web包管理。web包通常认为由html+css+javascript构成。如果越来越多得开源项目都托管在github上,bower只需要将github上项目加上一个配置文件既可以使用bower方式使用安装包。作为包管理,bower能提供添加新web包,更新web包,删除web包,发布web包功能,管理包依赖。

bower是通过npm安装和管理的:npm install -g bower 

配置好某项目的bower配置文件bower.json后,在当前项目目录下用命令bower install安装即可,自动将bower.json中的模块安装到bower-components文件夹下。

node.js

node.js 是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎。目的是为了提供撰写可扩展网络程序,如Web服务。

npm vs bower

npm是用来下载安装node js的第三方工具包,也可以用来发布你自己开发的工具包。

bower是一个web包管理的工具,管理一些js库,比如说jquery,bootstrap等。通过bower,你就不用自己去找jQuery文件了,通过配置文件就可以自动完成了。

gulp

gulp:处理html压缩/预处理/条件编译,图片压缩,精灵图自动合并等任务

gulpfile.js:gulp的配置文件,引入了所有的gulp子任务。参见gulp 入门

webpack

webpack是模块化管理的工具,使用webpack可实现模块按需加载,构建js/css任务,模块预处理,模块打包等功能。可学习webpack入门指南。

 

整合gulp & webpack

webpack是众多gulp子任务中比较复杂的部分,主要对JS/CSS进行相关处理。
包括:模块分析、按需加载、JS代码压缩合并、抽离公共模块、SourceMap、PostCSS、CSS代码压缩等等...

转载于:https://my.oschina.net/guoshuyun/blog/726716

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java LinkedList公共布尔boolean offerFirst(Object o)方法(带示例)

LinkedList公共布尔布尔offerFirst(Object o)方法 (LinkedList public boolean offerFirst(Object o) method) This method is available in package java.util.LinkedList.offerFirst(Object o). 软件包java.util.LinkedList.offerFirst(Object o)中提供了此方法。 This metho…

hbuilder php mysql_xampp本地服务器+HBuilder配置php环境

HBuilder配置PHP环境:下载,运行HBuilder编辑器打开右侧小窗口,点击设置图标—>设置web服务器—>外置web服务器输入你想要浏览器运行的URL,点击两个确定,再重新点击设置web服务器,选择PHP类文件(选择之…

百度地图手机和电脑不一致_你可能不知道的电脑手机冷知识

各位好久不见呀,自科部科科又回来了!平时我们经常使用电脑,你可能以为你对电脑和手机了如指掌,然而下面的冷知识你知道多少个?01一台电脑可以有多个桌面如果你熟练的使用多个桌面这个技巧那么就可以躲着家长领导偷懒了…

嵌套字典|python_Python | 如果不是,则使用嵌套,根据销售额计算折扣

嵌套字典|pythonInput same amount and calculate discount based on the amount and given discount rate in Python. 输入相同的金额,并根据Python中的金额和给定的折扣率计算折扣。 The discount rates are: 折扣率是: Amount Discount0-5000…

RHEL 7 中 systemctl 的用法(替代service 和 chkconfig)

2019独角兽企业重金招聘Python工程师标准>>> 1、systemctl是RHEL 7 的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。 systemctl可以列出正在运行的服务状态,如图&am…

python实战——发邮件

from email import encoders#负责编码 from email.header import Header#负责处理邮件头 from email.mime.text import MIMEText#构造邮件内容 from email.utils import parseaddr, formataddr#将输入内容格式化 import smtplib#发送邮件模块def _format_addr(s):#处理格式化文…

js 刷新div_vue.js备忘记录(五) vue-router

如果我们采用SPA(单网页应用)的设计方式,服务器会把前端文件一次性发过来,前端通过监听url的改变,选择展示那些内容,也就是前端路由一. 如何改变url但是页面不刷新?方式一: 改变哈希值hash比如,我们随便找一个网页我们在浏览器控制台输入发现网站的url有了些改变查看network却…

css div撑满窗口高度_如何使用CSS将div的高度设置为窗口的100%?

css div撑满窗口高度Introduction: 介绍: Hello there developers! Well, certainly if you are reading this article then that means that you have run into some trouble while creating your web page or website and if you are a beginner in this field, …

.net core image怎么保存_轻量级Vue图片上传插件——Vue-core-image-Upload

介绍vue-core-image-upload 是一款轻量级的 Vue.js 上传插件,它可以支持的图片的上传,裁剪,压缩。它同样也支持在移动端的图片处理,它定义了诸多上传周期,你可以自由的进行流程控制。Githubhttps://github.com/Vanthin…

mysql确认半同步命令_怎么判断mysql是否是半同步复制

AFTER_COMMIT(5.6默认值)master将每个事务写入binlog ,传递到slave 刷新到磁盘(relay log),同时主库提交事务。master等待slave 反馈收到relay log,只有收到ACK后master才将commit OK结果反馈给客户端。AFTER_SYNC(5.7默认值,但5.6中无此模式…

stl iterator_在C ++ STL中使用const_iterator访问字符列表的元素

stl iteratorIn this example, we are declaring a character list and pushing the characters from A to Z using a for loop and push_back() function and then accessing the elements using const_iterator. 在此示例中,我们声明一个字符列表,并使…

《Linus Torvalds自传》摘录

转自:http://www.ruanyifeng.com/blog/2012/09/linus_torvalds.html作者: 阮一峰日期: 2012年9月 3日除了程序员,大概很少人知道Linux操作系统。它的发明者Linus Torvalds,知道的人就更少了。他本人也很低调&#xff0…

python绘制条形图例题_python matplotlib库绘制条形图练习题

练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a ["战狼2","速度与激情8","功夫瑜伽",&quo…

mysql验证身份证号正确_通过SQL校验身份证号码是否正确

根据提供的身份证号码信息验证身份证号码是否符合二代身份证规范,其中区域编码网上可下载。使用数据库为DB2,但目测可以通用身份证号码第18位验证算法从网上查得,具体验证算法如下:1、将前面的身份证号码17位数分别乘以不同的系数…

python学习记录

python学习记录schedule库schedule库 import schedule import time #引入schedule和timedef job():print("Working in progress...") #定义一个叫job的函数,函数的功能是打印Im working...#部署情况 schedule.every(10).minutes.do(job) #部署每10…

Python | 在属性的帮助下实现setter和getter

In this program, we are implementing Properties. Python offers a better way to implement setters and getter with the help of properties by using attribute property. By default properties are getters so we have to declare setter part explicitly. 在此程序中&…

windows进入mysql

cd \wamp\bin\mysql\mysql5.6.17\bin\mysql -hlocalhost -uroot -p转载于:https://blog.51cto.com/8818968/1835449

python爬取js动态网页_Python 爬取网页中JavaScript动态添加的内容(一)

当我们进行网页爬虫时,我们会利用一定的规则从返回的 HTML 数据中提取出有效的信息。但是如果网页中含有 JavaScript 代码,我们必须经过渲染处理才能获得原始数据。此时,如果我们仍采用常规方法从中抓取数据,那么我们将一无所获。…

mac mysql 忘记密码 卸载_MySQL忘记密码后重置密码(Mac )

转:http://www.cnblogs.com/lihuanqing/p/5623872.html安装好MySQL以后,系统给了个默认的的密码,然后不小心关了,惨了密码没有了。1、关闭mysql服务器 sudo /usr/local/mysql/support-files/mysql.server stop 也可以在系统偏好里…

MATLAB学习——变量、数组

变量、数组变量赋值显示格式数组一维数组生成数组元素提取提取单个元素抽取二维数组生成数组提取提取单个元素提取子矩阵添加字符数组空数组变量 赋值 赋值语句一般形式:变量 数、字符或表达式 a 1 #自定义为双精度double x x y 1*2*3显示格式 可以…