zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    node.js & read argv

    https://nodejs.org/docs/latest/api/process.html

    https://flaviocopes.com/node-cli-args/

    https://stackoverflow.com/questions/4351521/how-do-i-pass-command-line-arguments-to-a-node-js-program

    
    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms
     *
     * @description APP_ENV Genarator
     * @augments
     * @example
     *
     */
    
    const fs = require("fs");
    
    const args = process.argv.slice(2);
    
    console.log(`process.argv =`, process.argv);
    console.log(`args =`, args);
    
    const filename = "./fs.open.js";
    
    fs.open(filename, "r", (err, fd) => {
        if (err) {
            fs.writeFile(filename, `export const APP_ENV = "preview";`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
                console.log("The file was created!");
                let env = "preview";
                console.log("The file was saved!", env);
            });
        } else {
            // truncated 截断 === empty ???
            console.log("The file exists!");
            // console.log("The file isn't exists!");
            fs.writeFile(filename, `// truncated 截断 === empty`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
                console.log("The file was truncated!");
            });
        }
    });
    
    
    
    
    ## js path
    
    $ node env-generator.js key=value
    
    
    

    OK

    
    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms
     *
     * @description APP_ENV Genarator
     * @augments
     * @example
     *
     */
    
    const fs = require("fs");
    
    const args = process.argv.slice(2);
    
    console.log(`process.argv =`, process.argv);
    console.log(`args =`, args);
    console.log(`args.toString().substr(4) =`, args.toString().substr(4));
    
    const filename = "./fs.open.js";
    
    fs.open(filename, "r", (err, fd) => {
        if (err) {
            fs.writeFile(filename, `export const APP_ENV = "preview";`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
                console.log("The file was created!");
                let env = "preview";
                console.log("The file was saved!", env);
            });
        } else {
            // truncated 截断 === empty ???
            console.log("The file exists!");
            // console.log("The file isn't exists!");
            fs.writeFile(filename, `// truncated 截断 === empty`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
                console.log("The file was truncated!");
            });
        }
    });
    
    
    
    

    APP_ENV

    
    const env={
        testing:'',
        dev:'',
        local:'',
        statging:'',
        product:''
    }
    
    

    npm scripts

    $ node env-generator env=testing
    $ node env-generator env=dev
    $ node env-generator env=local
    $ node env-generator env=statging
    $ node env-generator env=product
    
    

    OR

    $ node env-generator.js env=testing
    $ node env-generator.js env=dev
    $ node env-generator.js env=local
    $ node env-generator.js env=statging
    $ node env-generator.js env=product
    
    
    
    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms 2019.05.12
     *
     * @description APP_ENV Genarator
     * @augments
     * @example node env-generator.js env=dev
     *
     */
    
    const fs = require("fs");
    
    const env = process.argv.slice(2)[0].substr(4);
    const filename = "./env.js";
    
    fs.open(filename, "r", (err, fd) => {
        console.log("APP_ENV =", env);
        if (err) {
            fs.writeFile(filename, `export const APP_ENV = "${env}";`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
            });
        } else {
            fs.writeFile(filename, `export const APP_ENV = "${env}";`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
            });
        }
    });
    
    
    
    

    new version

    
    
    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms 2019.05.12
     *
     * @description APP_ENV Genarator
     * @augments
     * @example node env-generator.js env=dev
     *
     */
    
    const fs = require("fs");
    
    const env = process.argv.slice(2)[0].substr(4);
    const filename = "./env.js";
    
    fs.open(filename, "r", (err, fd) => {
        console.log("APP_ENV =", env);
        if (err) {
            fs.writeFile(filename, `const APP_ENV = "${env}";
    export default APP_ENV;`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
            });
        } else {
            fs.writeFile(filename, `const APP_ENV = "${env}";
    export default APP_ENV;`, (err, fd) => {
                if(err) {
                    console.log(`writeFile err =`, err);
                }
            });
        }
    });
    
    
    
    
    
    

    app.js

    
    
    import APP_ENV from "./env";
    console.log(`APP_ENV = `, APP_ENV, typeof(APP_ENV), APP_ENV.length);
    
    
    
    // import * as APP_ENV from "./env";
    // console.log(`APP_ENV = `, APP_ENV, typeof(APP_ENV), APP_ENV.length);
    // APP_ENV =  {APP_ENV: "dev", __esModule: true}
    
    import * as ENV from "./env";
    console.log(`ENV.APP_ENV = `, ENV.APP_ENV, typeof(ENV.APP_ENV), ENV.APP_ENV.length);
    // ENV.APP_ENV =  dev string 3
    
    
    // import * as APP_ENV from "./env";
    // console.log(`APP_ENV = `, APP_ENV, typeof(APP_ENV), APP_ENV.length);
    // APP_ENV =  {APP_ENV: "dev", __esModule: true}
    
    // import * as ENV from "./env";
    // console.log(`ENV.APP_ENV = `, ENV.APP_ENV, typeof(ENV.APP_ENV), ENV.APP_ENV.length);
    // ENV.APP_ENV =  dev string 3
    
    import {APP_ENV} from "./env";
    console.log(`APP_ENV = `, APP_ENV, typeof(APP_ENV), APP_ENV.length);
    
    

  • 相关阅读:
    postman+newman+jenkins 接口自动化问题
    rabbitMQ Management http://localhost:15672/ 打不开
    转-轻松几步搭建SVN服务器
    Eclipse调优
    转- 关于时间,日期,星期,月份的算法(Java中Calendar的使用方法)
    calculate Leave Days
    验证只能输入中文
    js 只能限制只能输入数字和转大写方法
    拿来自勉
    JAVA的容器---List,Map,Set的区别
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/10855749.html
Copyright © 2011-2022 走看看