2. Node Fundamentals - Part 1

2018-07-23  本文已影响0人  长草嘟嘟

2. Node Fundamentals - Part 1

Module basics

总结:

  1. Use require to load in modules.
  2. Two built-in modules: fs and os.
  3. Two methods: fs.appendFile and os.userInfo.
  4. Template strings,
`Hello ${user.username}!`

Require own files

如何导入我们自己创建的js文件。

在app.js中导入notes.js,如果它们在同一目录:

const notes = require('./notes.js');

在notes.js中添加可以被外部文件访问的property:

module.exports.age = 25;

其实就是往notes.js对象的export属性中添加属性,注意,exports自己也是对象。

如果要往exports里添加名为addNote的函数:

module.exports.addNote = function () {
    ...
}

也可以使用arrow functions:

module.exports.addNote = () => {
    ...
}

在notes.js中定义好了函数addNote后,可以在app.js中调用:

const notes = require('./notes.js');
notes.addNote(); // 不需要用到addNotes的返回值的情况
var res = notes.addNotes(); //需要用到返回值的情况

Third-party modules

How to require a package I've installed from npm?

安装第三方module,并且在我们的app中require第三方module。

安装步骤

  1. 在项目的根目录运行npm init命令,这一命令将会在项目的根目录创建一个名为package.json的配置文件。
  2. 这个文件就是我们用来定义哪些第三方module是我们需要安装的,在我们的application中。
  3. 我们可以在https://www.npmjs.com中找到各种第三方package。
  4. 以安装lodash这个module为例,前往命令行,运行命令
npm install lodash --save

这里的--save是一个flag,它会使package.json的内容更新。

  1. 运行命令之后,可以发现项目的根目录中多出了一个名为node_modules的目录,其中存放了刚刚安装好的lodash模块;打开json配置文件,可以发现"dependencies"对应的对象中出现了一组新的键值对"lodash": "^4.17.10"
  2. 现在我们就可以在app.js中调用lodash的内容了。
const _ = require("lodash") // lodash一般用下划线,require的参数使用package.json中dependencies中的包的名字

node在寻找lodash包的时候,会先去看有没有一个叫lodash的core module,发现没有之后它再去node_modules文件夹中找。

使用lodash包

一般在使用npm module之前先去看看文档。

_.isString(value)

Checks if value is classified as a String primitive or object.

_.uniq(array)

代码:

var filteredArray = _.uniq(['Gary', 1, 'Gary', 1, 2, 2, 3]);
console.log(filteredArray);

输出:

[ 'Gary', 1, 2, 3 ]

发现array中的重复项被消除了。

关于node_modules文件夹的一点说明

当我们把自己的项目拷贝给别人,或者上传到GitHub时,不应该将node_modules文件夹一并复制或上传。
我们的package.json文件中已经定义了第三方包以及它们的版本,我们把除了node_modules文件夹以外的项目内容拷贝给别人之后,它们只需要在命令行中运行npm install就可以下载安装所有项目依赖的第三方包。

Global modules

nodemon

nodemon是一个第三方包,它可以监视我们的app的代码的变化,每次代码发生变化,它会帮我们自动重启app,免去我们手动重启的麻烦。

不同于lodash,nodemon是一个命令行工具,需要从命令行中运行。安装nodemon:

npm install nodemon -g

不同于安装lodash时使用的--savefalg

Getting input

Summary

上一篇下一篇

猜你喜欢

热点阅读