美文网首页
2. Node Fundamentals - Part 1

2. Node Fundamentals - Part 1

作者: 长草嘟嘟 | 来源:发表于2018-07-23 17:03 被阅读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

    相关文章

      网友评论

          本文标题:2. Node Fundamentals - Part 1

          本文链接:https://www.haomeiwen.com/subject/inmjmftx.html