2. Node Fundamentals - Part 1

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 6,787评论 0 16
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,643评论 2 41
  • 到了晚上,连影子都会离我而去。 昨夜整晚未眠,不只是哪路小鬼,又挑起了我深埋心底的孤寂。 就像有一副枷锁,紧紧的捆...
    夜雨書店阅读 520评论 0 0
  • 结婚和生孩子真奇妙 结婚后原本是陌生人的两个人真的就变得像血脉相通一样,你会心疼他为这个家的辛苦拼搏,看不得他受委...
    咪唬阅读 160评论 0 0
  • 能非常轻松无缝接引导孩子喜欢读书,最好的办法就是陪孩子读绘本。 当然陪孩子读绘本还是有非常多的好处,诸如升华亲子,...
    原子的世界阅读 283评论 0 0