npm和webpack区别
npm是前端的包管理器,都可以使用命令行安装依赖包。npm是嵌套在nodejs中的,电脑上安装了nodejs了,就可以使用npm命令安装依赖。
webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle。
如何使用npm打包发布nodejs程序包
去github找一个小项目clone下来,本地运行一下,你就入门了,知道这些东西的作用是什么,现在前端都是是模块化开发,node是js的运行环境,当你开发的时候需要用到npm工具包,npm是一个统一的js包管理网站(说白了就是别人把封装好的js代码放到npm上面,并不定期更新,所有人都可以下载下来用到自己的项目中)开发完成后需要webpack,webpack也是一个npm包,webpack的热更新功能真是amazing极了,输入命令行就可以执行打包编译等命令,建议你再看一下流行框架,比如vue、react,这些框架都为新手开发者准备了脚手架工具,开箱即用。在看一点es6的新语法,结合起来使用,效果更佳
在angular2的使用中怎么用webpack打包js
安装Webpack及其他组件 安装Webpack之前建议先安装Node.js,然后采用npm的方式来安装Webpack: npm install webpack -g 因为要用到angular,所以要安装angular: npm install angular 还要安装一系列加载器(loader): npm install style-loader
什么是NPM,为什么要用NPM来管理包
会产生冗余问题
前端与后端使用同一套包管理软件可以减少公共部分的耦合,但是会导致不必要的冗余。
比如一个bootstrap包,是不可能被后端使用的。但是如果统一使用npm管理,每次npm install都会安装bootstrap包,而后端一辈子都用不倒,完全是浪费带宽、存储空间、时间。并且你在运行后端前,每次都安装个bootstrap,你不觉得恶心吗?
运行环境完全不同
前端与后端的运行环境是完全不同的,前端运行于浏览器内(即主要是DOM与BOM环境,相对受限),后端则运行于OS内(有无限的API与可能性)。所以这两种开发环境是完全不同的。不同的开发环境使用同一个包管理文件显然是不合时宜的,也不符合模块化的理念。
开发人员也可能不同
前端与后端通常是不同的开发团队,因些前端关注的是HTML,CSS,DOM,BOM, js的UI库与动作库。而后端关注的是性能,安全,效率,数据,缓存,用户管理。他们可能都会用到gulp/grunt,而后端通常不会用到webpack,wiredep,bootstrap, jQuery这类纯前端的包。所以强行将他们捆绑在一起是没有必要的。
同构包可以分开打包
由于isomorphic js的流行,同构包也会越来越多。但是其实你会发现,不管如何同构,前后端的运行环境还是不同的。所以同构包的调用环境还是不一样的。前端的包通常需要通过browserify,webpack或者gulp等工具发布成前端可用的包。跟npm包直接通过package.json决定从什么地方接入是不同的。即使npm可以为前端包提供字段供前端接入,也会显得非常混乱。
还没有评论,来说两句吧...