node模块化开发(一个简单的例子)

2019-08-05  本文已影响0人  LilyLaw

node 模块化开发,主要分为以下几个步骤:


模块化开发步骤.jpg

下面做一个简单地计算器,通过node REPL环境可计算结果。


node执行文件传参格式

非模块化代码如下

// 获取命令行参数
let argv = process.argv.slice(2);
let result = 0, arg1 = parseFloat(argv[0]), arg2 = parseFloat(argv[2]);
switch(argv[1]){
    case '+':
        result = arg1+arg2;
        break;
    case '-':
        result = arg1-arg2;
        break;
    case '*':
    case 'x':
        result = arg1*arg2;
        break;
    case '/':
    case '÷':
        result = arg1/arg2;
        break;
    default:
        throw new Error();
}

console.log(result);

模块化的好处在我理解主要有以下两点:

我们把计算部分单独抽离出来为calc.js

// calc.js
function add(arg1,arg2){
    return arg1 + arg2;
}
function substract(arg1,arg2){
    return arg1 - arg2;
}
function multiple(arg1,arg2){
    return arg1 * arg2;
}
function divide(arg1,arg2){
    return arg1 / arg2;
}

module.exports = {
    add,
    substract,
    multiple,
    divide
};

下面是引用部分commandCalc.js

// commandCalc.js
const calc = require('./calc.js');

// 获取命令行参数
let argv = process.argv.slice(2);
let result = 0,arg1 = parseFloat(argv[0]),arg2 = parseFloat(argv[2]);
switch(argv[1]){
    case '+':
        result = calc.add(arg1,arg2);
        break;
    case '-':
        result = calc.substract(arg1,arg2);
        break;
    case '*':
    case 'x':
        result = calc.multiple(arg1,arg2);
        break;
    case '/':
    case '÷':
        result = calc.divide(arg1,arg2);
        break;
    default:
        throw new Error();
}

console.log(result);

node 运行如下命令,可看到结果:


计算结果
上一篇 下一篇

猜你喜欢

热点阅读