【问题标题】:How can I use a npm modules directly in my projects?如何在我的项目中直接使用 npm 模块?
【发布时间】:2016-10-18 21:15:47
【问题描述】:

我以前从未使用过npm,所以我可能不会问应该如何提问,但我在任何地方都找不到此信息。假设我有兴趣使用this module。作者要求我通过在命令行中键入以下内容来安装我所做的模块。

npm install --save critical 

在那之后我迷路了。作者写了很多行,但我不知道放在哪里。

var critical = require('critical');

critical.generate({
  inline: true,
  base: 'test/',
  src: 'index.html',
  dest: 'index-critical.html',
  width: 1300,
  height: 900
});

我将这段代码放在哪里以及如何运行它。我尝试创建一个名为criticaldemo.js 的文件并将所有这些代码放在那里,但通过命令行运行它什么也没做。要通过命令行运行它,我使用了以下命令:

$ criticalfile.js

谁能帮我理解如何使用 npm 模块?

【问题讨论】:

  • 控制台中是否打印了任何内容?
  • @zero298 控制台刚刚闪过。我什么也看不见。我不是在谈论这个特定的模块。我有兴趣学习如何使用这些模块。这个仅供参考。 :)
  • 你是双击一个.bat文件还是什么?打开一个实际的命令提示符并在那里运行您的脚本。
  • 我的预感是它最容易在像GulpJS 这样的构建中使用——文档说它可以在没有 Gulp 插件的情况下使用。
  • node criticalfile.js 呢?

标签: javascript node.js npm npm-install


【解决方案1】:

假设您的项目目录结构如下:

project
  criticaldemo.js

您应该导航到project 并运行

npm init

这将在您的项目中创建package.json。您只需为每个问题按 Enter 键即可使用默认值。

如果您愿意,也可以根据requirements 手动创建package.json

这是最低限度的外观(必须至少有一个nameversion):

{
  "name": "my-cool-project",
  "version": "1.0.0"
}

无论哪种方式,此时您的目录应如下所示:

project
  criticaldemo.js
  package.json

接下来,你运行:

npm install --save critical 

这将创建一个目录node_modules,其中包含您的包:

目录结构:

project
  criticaldemo.js
  package.json
  node_modules

现在在您的criticaldemo.js 中,您按照包作者所说的方式输入代码:

var critical = require('critical'); // this loads the package from node_modules/critical

critical.generate({
  inline: true,
  base: 'test/',
  src: 'index.html',
  dest: 'index-critical.html',
  width: 1300,
  height: 900
});

最后你使用 node 运行程序:

node criticaldemo.js

【讨论】:

  • 非常感谢 nemo035。我还有一个问题,这些包的正确名称是什么?我的意思是它们是模块还是包?它们的正确名称是“节点模块”吗?
  • 不客气。不确定您所说的“专有名称”是什么意思?它们既是包又是模块。它们作为包存储在npm 上,但它们在您的代码中与modules 一样使用,因为它们是独立的代码单元,如模块。虽然没有正确的名称,但它们都是。
猜你喜欢
  • 2017-01-31
  • 2013-03-10
  • 2018-05-05
  • 2015-11-24
  • 2015-12-29
  • 1970-01-01
  • 2016-01-04
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多