npm安装及简单使用
包管理器(Package Manager)
npm 最初它只是被称为 Node Package Manager,用来作为Node.js的包管理器。但是随着其它构建工具(webpack、browserify)的发展,npm已经变成了 "the package manager for JavaScript",它用来安装、管理和分享JavaScript包,同时会自动处理多个包之间的依赖。
新版的nodejs已经集成了npm
Node.js:nodejs分为了 长期支持版 和 当前版本 。
Linux中安装nodejs的方法:
对于国内的情形,在使用npm安装JS包之前建议先更改npm的镜像。
配置 npm 的国内镜像站点为: 。
方法一:在系统的HOME目录新建 .npmrc 文件并添加 registry =
方法二:你可以使用淘宝定制的 cnpm 命令行工具代替默认的 npm:
npm 的包安装分为本地安装(local)、全局安装(global)两种。
使用下面的命令来查看全局的包安装的位置:
如果你希望具备两者功能(本地安装和全局安装的功能),则需要在两个地方安装它或使用 npm link 。
npm link的功能是在本地包和全局包之间创建符号链接。我们说过使用全局模式安装的包不能直接通过 require 使用,但通过 npm link 命令可以打破这一限制。
比如我们将 express安装到了全局环境,使用下面的命令可以将其链接到本地环境:
使用 npm link命令还可以将本地的包链接到全局。使用方法是在包目录( package.json 所在目录)中运行 npm link 命令。
如果你的项目不再需要该模块,可以在项目目录内使用npm unlink命令,删除符号链接。
安装信息和它们的依赖
package.json配置内容
当你的项目需要依赖多个包时,推荐使用 package.json。其优点为:
文件中必须包含: name 和 version
两种依赖包:
如果其他人也需要这个项目,只需要把这个 package.json 文件给他,然后进行简单的 npm install 即可。
使用 npm set 命令用来设置环境变量。
也可以用它来为 npm init 设置默认值,这些值会保存在 ~/.npmrc 文件中。
使用 npm config 命令可以达到此目的。
或者手动在 ~/.npmrc 文件中进行配置:
更改目录后记得在系统环境变量 PATH 中添加该路径:
Node.js 的社区开发了多版本管理器,用于在一台机器上维护多个版本的 Node.js 实例,方便按需切换。Node 多版本管理器(Node Version Manager,nvm)是一个通用的叫法,推荐使用nvm安装node,
在发布之前,首先需要让我们的包符合 npm 的规范,npm 有一套以 CommonJS 为基础包规范,但与 CommonJS并不完全一致,其主要差别在于必填字段的不同。通过使用 npm init 可以根据交互问答产生一个符合标准的 package.json。
npm init 运行示例:
该文件就是一个符合 npm 规范的 package.json 文件。这里的 index.js 作为包的接口。
创建帐号:
测试是否取得帐号:
进入官网注册
发布
更新包:修改 version字段,再重新发布
取消发布:
npm scripts 使用指南 - 阮一峰的网络日志
package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用。
npm run lint 可以运行脚本中的 lint 命令。 npm run test 可以运行脚本中的 test 命令。
npm run 命令会自动在环境变量 $PATH 添加 node_modules/.bin 目录,所以 scripts 字段里面调用命令时不用加上路径,这就避免了全局安装NPM模块。
start 和 test 属于特殊命令,可以省略 run :
如果仅仅使用 npm run 会列出scripts属性下所有的命令:
npm 模块安装机制简介 - 阮一峰的网络日志
NPM 使用介绍 - 菜鸟教程
npm Documentation
如何卸载使用npm链接安装的软件包?
package.json文件 -- JavaScript 标准参考教程(alpha)
npm模块管理器 -- JavaScript 标准参考教程(alpha)
菜鸟教程中的nodejs连接mysql数据库教程存在sql注入问题吗?
是否有漏洞与代码有关,与此无关
其中主流的连接MySQL的方式是用mysql或者mysql2包,它们只是提供了调用驱动的api。很多框架中包括egg,nest都是基于此封装的。
但这不是SQL注入的关键,它只是一种连接方式。它只管连接,不管其他的,存不存在SQL注入完全靠写代码的人本身啊。
一句脚本本没有问题(知道不让直接放sql的,也是放注入),但是你如果让SQL变成由用户输入拼接而成,那就存在SQL注入的风险。
你应该去了解SQL注入的原理,然后进行防患,百度就能找到,然后可以用ORM,一般都对输入做了处理,还能避免直接写SQL(但其实难的地方还得自己写)。
有不理解可以追问。
前端另一个运行环境NodeJS
说前端,就不得不说JavaScript,JavaScript可以直接在浏览器中运行,它的另一个运行环境就是NodeJs。
浏览器中写JavaScript是超级简单的,打开浏览器,然后按F12或者鼠标右键,选择检查(检查元素),再选择控制台,输入Console.log(‘Hello world!’),打印出经典的Hello World!。
让javaScript这门语言能成为前端的老大,是应为NodeJs,有了NodeJs,javaScript也可以做为服务端部署,是不是感觉前端也能往全栈发展,开发出属于自己的应用,不要太开心了哦。
现在开始安装NodeJs啦,推荐菜鸟教程: 以及NodeJs 官网:
在这里注意说一下注意事项:
1. 确定安装好node(npm随node安装程序自动安装,npm是对Node.js依赖的包进行管理)之后
2. 配置npm安装全局模块时的路径和缓存cache的路径
Npm执行全局安装的命令:npm install webpack -g等,默认会将模块安装在C:\Users\用户名\AppData\Roaming路径下的npm和npm_cache,这样就会导致不方便管理此处的模块并且占用C盘空间,这里建议进行自定义的全局模块安装目录的配置,在node.js安装目录下新建两个文件夹node_global和node_cache:
在cmd中执行下面两个命令即可:
npm config setprefix "D:\Program Files\nodejs\node_global"
npm config setcache "D:\Program Files\nodejs\node_cache"
执行之后,配置环境变量,如下:
“环境变量”- “系统变量”:新建一个变量名为“NODE_PATH”,值为:node安装目录\node_global\node_modules
“环境变量” - “用户变量”:编辑用户变量里的Path,讲相应npm的路径(“C:\Users\用户名\AppData\Roaming\npm”)改为:node安装目录\node_global
测试:
安装成功,自定义文件夹如下所示:
在cmd命令下执行webpack -v 查看webpack版本,出现这个问题:‘webpack’不是内部或外部命令,也不是可运行的程序或批处理文件:
确认安装好了NodeJS,也安装了webpack
检查配置的路径:环境变量下的用户变量的path:
环境变量下的系统变量的NODE_PATH:
环境变量下的系统变量的Path,发现时少增加了D:\software\node\node_global,增加上之后:
因为安装的webpack是高版本,还需要全局安装webpack-cli,命令:npm install webpack-cli -g,安装好后就可以了:
坚信问题是促使我们前进,问题也是让我们产生了价值的意义所在,欢迎评论留言点赞。
怎么从零开始学习nodejs
首先必须明确两点: 异步事件驱动特性不是nodejs的,而是js的。 js是一门语言,一门真正的编程语言。 只是那些教程的代码例子使用了浏览器而已,一般也是在chrome的控制台里面,而不是在nodejs的命令行里。这些都不影响学习js。