【问题标题】:Difference between start and dev script in package.json filepackage.json 文件中 start 和 dev 脚本的区别
【发布时间】:2021-03-24 04:23:29
【问题描述】:

到目前为止,在我遇到的几乎所有文档中,大部分时间我都看到 start 和 dev 脚本用于类似的功能。以下是两个例子:

1.

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index",
    "dev": "nodemon index" 
  },
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",

所以,请帮助我理解,用于 NodeJs 的 package.json 文件中两者之间究竟有什么区别。什么情况下同时提2才有意义。

P.S:我是 javascript 和 node.js 的新手。因此,如果出现愚蠢的错误,请原谅。在此先感谢:)

【问题讨论】:

    标签: node.js npm package.json npm-scripts npm-start


    【解决方案1】:

    Start 是 npm 默认处理的脚本。您可以在没有关键字 run 的情况下使用它: npm start

    dev 是自定义脚本,名称对 npm 没有意义。你需要使用关键字run

    # npm run <script name>
    npm run dev
    

    开始文档:https://docs.npmjs.com/cli/v6/commands/npm-start

    运行脚本的文档:https://docs.npmjs.com/cli/v6/commands/npm-run-script

    换句话说,start 将覆盖默认的 npm 命令。默认情况下,npm 将在启动时运行 node index.js。即使您没有声明启动脚本,它也始终存在。 dev 的情况并非如此。

    【讨论】:

    • 我知道这部分,'npm start' 的工作方式与'npm run start' 完全一样,但'npm dev' 不起作用,这是命令执行方式的不同。但我在功能方面期待更多。就像测试脚本一样,我们可以提到 mocha,但我们不会将 mocha 放在 start 或 dev 中,对吗?像那样,start和dev之间也有某种区别吗?希望我现在清楚了。
    • starttest 是 npm 中的默认脚本。它们是唯一以这种方式工作的脚本。每个其他脚本都需要使用 run 关键字。在开始时放一个 mocha 命令没有什么意义,但没有什么能阻止你这样做。 dev 仅在您创建时才存在。
    猜你喜欢
    • 2021-07-25
    • 2019-04-11
    • 1970-01-01
    • 2018-12-14
    • 2021-11-22
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多