【问题标题】:Command inside package.json - what does file > another file mean?package.json 中的命令 - 文件 > 另一个文件是什么意思?
【发布时间】:2020-06-03 02:02:17
【问题描述】:

不确定 Angular 项目的 package.json(我指的是"generate": "node ./server/generate.js > ./server/database.json",)中的“生成”行做什么,或者在哪里可以找到更多相关信息,请提供参考或提示?如果你们认为它缺乏细节,我准备删除这个问题。

 "scripts": {
        "ng": "ng",
        "start": "ng serve",
        "build": "ng build",
        "test": "ng test",r
        "lint": "ng lint",
        "e2e": "ng e2e",
        "generate": "node ./server/generate.js > ./server/database.json",
        "server": "json-server --watch ./server/database.json"
      },

所以基本上 generate.js 构建了一个名为 database 的对象,初始化为:var database = { products: []};(这是在将假数据添加到“产品”子类型之前);而 database.json 只包含这个:

{
    "products": []
}

这个节点./(路径)/文件>(json的路径)做什么?你需要>什么?

如果我在 .ts 类而不是 js 文件中添加代码以使用假数据填充数据库怎么办?

我可以直接从终端输入类似“node ./server/generate.js > ./server/database.json”的命令而不是“npm run generate”吗?

【问题讨论】:

  • 这是一个命令行重定向。 node ./server/generate.js 在终端(命令窗口)运行,它的输出被重定向到./server/database.json。使用单个> 会覆盖任何现有的同名文件。如果是>>,它将追加而不是覆盖。
  • 这能回答你的问题吗? In the shell, what does " 2>&1 " mean?

标签: angular package.json


【解决方案1】:

让我们剖析引号内的脚本:

节点 ./server/generate.js > ./server/database.json

节点
要运行的命令(javascript 解释器)。

./server/generate.js
将解释器作为参数的脚本,即要执行的程序。

>
将命令的标准输出重定向到文件。

./server/database.json
要将输出写入的文件。

如果您想对 typescript 执行相同操作,请将 node 替换为 ts-node 并将 generate.js 替换为您的脚本文件。基本上你可以在引号内运行任何命令,这就是脚本部分的全部想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2015-09-16
    相关资源
    最近更新 更多