问题标签 [package.json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2609 浏览

javascript - 我可以在安装端从 NPM 包中排除文件吗?

是否可以从我的 NPM 包列表中排除文件package.json

我有一个工作方式有点不同的非浏览器环境:node_modulesdir 中的每个文件都成为生产包的一部分。所以没有智能 treeshaking 只导入我在代码中使用的文件。

例如,我使用了一些包含大量测试和 i18n 文件的包,其中大部分我不需要并且喜欢从打包的生产版本中删除。但是,它们仍然包含在最终包中,因为整个包文件夹都包含在构建中。

我正在尝试从包中删除尽可能多的文件(无需每次都手动执行)以节省空间和编译时间。我使用的环境是循环目录中的所有文件node_modules并将它们添加到生产包中(全部使用Javascript打包)。我想要一个 JavaScript 解决方案来在编译时删除这些文件,以便最终包尽可能小。

0 投票
27 回答
982493 浏览

javascript - 运行 npm start 时启动脚本丢失错误

npm start尝试使用该命令调试我的节点应用程序时收到此错误。

错误: 从调试文件:
0 投票
1 回答
576 浏览

node.js - 将 Visual Studio 2015 用于现有的 node-js 客户端 Web 项目

我有一个团队正在开发客户端 node.js 应用程序。源存储在源控制中。我想在 Visual Studio 2015 中修改和调试此应用程序。他们使用其他 IDE,我不想将其他特定于 VS 的文件(例如 .sln)添加到源代码管理中。

我能够克隆存储库,创建一个单独的空解决方案并将存储库添加为“现有网站”。但是,Visual Studio 无法识别 package.json,也不会像 MVC6 项目那样安装依赖项。因此 gruntfile.js 也不起作用。

有没有办法让 Visual Studio 看到和处理 package.json,或者我在这里走错了路?

0 投票
3 回答
7631 浏览

node.js - npm glob 模式与子目录不匹配

在我的package.json中,我有一个**/*Test.js用于匹配文件的脚本块。通过 运行时npm,它们与子目录的匹配不超过一级。当直接在命令行上执行时,它们按预期工作。

谁能解释发生了什么,并提供解决方法或解决方案?

package.json

执行

0 投票
1 回答
12051 浏览

node.js - package.json 中的“样式”字段

我注意到BootstrapNormalize.css在它们的 package.json 中都有一个“样式”字段。

他们为什么有这个?如果我不得不猜测,它是为了让用户像导入定义的样式表一样容易require('bootstrap'),但似乎并非如此。

0 投票
1 回答
75 浏览

path - 使用 npm install 将 npm-modules 放在 .meteor 目录中

是否可以定义npm-modules将创建目录的目录的路径,何时npm install使用?

我用过...

... 创建准系统 Meteor 应用程序。我已将 package.json 文件添加到目录的根myApp目录:

当我跑...

...它会创建一个以目录node-modulesmyApp目录命名的文件夹。当我调用meteor run.

如果我手动将 移动node-modulesmyApp/.meteor/node-modules,那么一切都很好。

我可以对package.json文件进行更改,以便调用将在我想要npm install的位置创建目录吗?node-modules


编辑:按照@Inchoon Park 的建议,我安装meteorhacks:npm并创建了一个包含以下内容的 packages.json 文件:

请注意,这meteorhacks:npm需要每个依赖项的确切版本。"neo4j": "^2.0.0-RC2"(带有^字符)是不允许的。

0 投票
1 回答
79 浏览

javascript - 清理 package.json "main" 以与 require 一起使用

我想保持路径是相对的,并且总是在它前面加上前导目录。

假设我有一个字符串hellohello在您package.main的参考中完全有效./hello.js。但是,如果您接受hello并要求它,它将查找hellonode_module 而不是文件。如何hello使用./路径前缀?问题是 package.jsonmain可以有这些有效的选项。我并不是说这些都指向同一个文件。我是这么说的,hello.js不能hello直接放进去require

  • ../hello.js
  • ./hello.js
  • hello.js
  • ../hello
  • ./hello
  • hello

如何清理所有这些路径以便它们与 require 一起工作?

path.join摆脱领先的路径,所以这是行不通的。path.resolve另一方面,确实可以清理所有这些路径以供 require 使用,但它使其成为绝对路径。

预期行为:

  • ../hello.js-> 相同
  • ./hello.js-> 相同
  • hello.js->./hello.js
  • ../hello-> 相同
  • ./hello-> 相同
  • hello->./hello

我应该只创建一个正则表达式来查看路径吗?我如何确保它可以跨平台工作?

0 投票
1 回答
215 浏览

node.js - 为什么在 package.json 中作为 devDependencies 咕噜咕噜

我是 grunt 的新手,我十分钟前开始学习它,我想知道为什么 grunt 必须作为依赖项列在 package.json 中。这意味着当有人为节点安装我的模块时,例如,npm 也会安装到他身上。但我实际上需要 grunt 来缩小内容并将它们推送到我的 git repo 并且不需要实际运行节点脚本。

我错过了什么?

更新:现在我知道如何处理咕噜声,我可以说我不太喜欢它。我发现 grunt 与 npm 太相关了。这篇文章完美地解释了我对这个任务运行器的感受:Using a task runner without package.json

0 投票
2 回答
1831 浏览

npm - Docker-compose 运行多个脚本

我正在使用 docker-compose 和一个 yml 文件来启动一个容器。我要调用的 package.json 中有两个脚本:

为了调用一个我使用命令:脚本名称,我怎样才能调用多个脚本?

0 投票
4 回答
93425 浏览

node.js - 如果我的代码仅供我工作的公司使用,我应该在 package.json 的许可字段中输入什么?

NPM 2.11.3

我正在 Node.js 中构建一个库。这个库仅供我目前工作的公司使用。我认为这意味着许可证是“无”。但是当我npm init希望我使用 SPDX 许可证时。“无”或“未经许可”不是有效选项。

npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression

在 NPM GitHub 问题跟踪器上对此进行了一些讨论,但我找不到任何可以明确回答这个问题的东西。也许 NPM 不支持这个概念,但这似乎很奇怪。

在这种情况下,我应该为这个字段添加什么?我想摆脱与此相关的 npm 警告。

虽然文档说 UNLICENSED 是有效的,但它仍然给出警告: