【问题标题】:ExpressJS installation methodsExpressJS 安装方法
【发布时间】:2015-08-27 00:42:21
【问题描述】:

首先,我了解到,从第 4 版(express)开始,样板 HTML 生成器已被拆分。但是,是否执行命令...

npm install -g express-generator

...而不是...

npm install -g express

... 也自动安装核心 express 引擎?我之所以这么问,是因为令人惊讶的是,我只被指示安装第一个。

其次,在线教程指导类似于以下内容...

npm install -g express-generator
express --ejs pineapple-news
cd pineapple-news
npm install

但是,相反,我发现官方的快递文档反而推荐了这个……

mkdir pineapple-news
cd pineapple-news
npm init

...为所有默认值点击返回,然后以...结束。

npm install express --save

作为一个新手,我需要了解这两种方法之间的差异以及差异的原因。任何指针将不胜感激。

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    让我解释一下这两种情况。 第一种情况:

    npm install -g express-generator
    express --ejs pineapple-news
    cd pineapple-news
    npm install
    

    在这里,第一行是全局安装 express-generator。也就是说,在全局安装它之后,您可以像使用任何其他可以从终端调用的程序一样使用它。在第二行中,您将调用 express 生成器并将 ejs 指定为模板引擎,并将 pineapple-news 指定为项目名称。因此,express 生成器创建了一个名为 pineapple-express 的文件夹,其中包含必要的子文件夹、默认的 app.js 文件和默认的 package.json 文件。这样创建的 package.json 文件将包含所有依赖项,包括 express 和 ejs,其中列出了要使用的模板引擎。然后,当你执行npm intall时,所有的依赖都会自动安装。

    第二种情况:

    mkdir pineapple-news
    cd pineapple-news
    npm init
    

    使用第一行和第二行,您将创建一个名为 pineapple-express 的文件夹并在其中输入。 npm init 命令在提示您指定一些参数(如项目名称、版本、存储库等)后创建 package.json 文件。这样创建的 package.json 文件中不会列出任何依赖项。当您执行npm install express --save 时,它将在 package.json 文件中添加 express 作为依赖项,并将 express 安装在 pineapple-express 文件夹中。我希望现在一切都清楚了。

    在第一种情况下,还会生成所有必要的文件夹结构和 app.js 文件以及启动 express 应用程序所需的所有设置。它包含与模板引擎、静态文件路径、cookie 配置等相关的配置。一些依赖项如 morgan、jade 模板引擎等也由 express-generator 安装。

    在第二种情况下,您必须创建 app.js 文件并手动编写配置。这包括创建快速应用程序。

    app.js(您可以将其命名为 server.js 或 engine.js 之类的任何名称)文件包含用于启动节点 js 服务器的配置。该文件与 node 一起执行以启动服务器。

    【讨论】:

    • 哇哦。现在清楚多了。然而,两者的结局会完全一样吗?比如你在第一种情况下只提到了app.js,在第二种情况下会不会没有?其中哪一项是推荐的或标准的?
    • 另外,您介意解释一下 app.js 的用途吗?
    【解决方案2】:

    npm install -g 在您的系统上全局安装软件包。 express-generator 是一个设置目录以包含您的 express 应用程序的模块。创建一个目录结构并添加一个 package.json 文件,其中包含 express 作为依赖项以及其他常用模块。所以你就可以开始编写你的应用程序了。 Express-generator 仅在您的应用程序目录本地安装 express。这就是为什么你必须在使用express myapp创建目录之后在创建的目录上运行npm install

    【讨论】:

    • 我明白了。感谢您花时间回答。但是,这只能部分回答我的问题。您想回答剩下的问题吗?
    猜你喜欢
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    相关资源
    最近更新 更多