簡體   English   中英

如何在 Node.JS 中更新 plain.js 文件?

[英]How to update plain .js file in Node.JS?

我有一個 filename.config.js 文件,其內容如下:

module.exports = {
    foo: [
        {bar: "bar"},
    ],
};

原生 Node.js 或它的一些庫是否有任何工具可以在不訴諸正則表達式的情況下向foo添加另一個項目?

使用.json文件進行配置。 永遠不要動態寫入js文件。

文件名.config.json

{
    "foo": [
        {"bar": "bar"},
    ],
}

然后在另一個 js 文件中你可以讀取該文件:

const fs = require('fs');
const path = require('path');

const config = JSON.parse(
  fs.readFileSync(path.resolve(__dirname, './filename.config.json'), 'utf8')
);

console.log(config);

要編輯文件,您可以編輯 object 並將其寫回文件:

config.biz = 'baz';

fs.writeFileSync(path.resolve(__dirname, './filename.config.json'), JSON.stringify(config));

JSON.parseJSON.stringify可用於將 JSON 對象從字符串轉換為真正的 ZA268CFDE6311B4BEB8 和返回。 不需要正則表達式。

我自己在一些谷歌示意圖中找到了一個解決方案:

const { cosmiconfigSync } = require('cosmiconfig');

export function getConfig(path?: string): MyConfig {
  const explorer = cosmiconfigSync('filename');
  if (path) {
    path = `${process.cwd()}/${path}`;
  }
  const configSearch = explorer.search(path);

  return configSearch ? configSearch.config : {};
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM