问题标签 [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.
javascript - 我可以在安装端从 NPM 包中排除文件吗?
是否可以从我的 NPM 包列表中排除文件package.json
?
我有一个工作方式有点不同的非浏览器环境:node_modules
dir 中的每个文件都成为生产包的一部分。所以没有智能 treeshaking 只导入我在代码中使用的文件。
例如,我使用了一些包含大量测试和 i18n 文件的包,其中大部分我不需要并且喜欢从打包的生产版本中删除。但是,它们仍然包含在最终包中,因为整个包文件夹都包含在构建中。
我正在尝试从包中删除尽可能多的文件(无需每次都手动执行)以节省空间和编译时间。我使用的环境是循环目录中的所有文件node_modules
并将它们添加到生产包中(全部使用Javascript打包)。我想要一个 JavaScript 解决方案来在编译时删除这些文件,以便最终包尽可能小。
javascript - 运行 npm start 时启动脚本丢失错误
npm start
尝试使用该命令调试我的节点应用程序时收到此错误。
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,或者我在这里走错了路?
node.js - npm glob 模式与子目录不匹配
在我的package.json
中,我有一个**/*Test.js
用于匹配文件的脚本块。通过 运行时npm
,它们与子目录的匹配不超过一级。当直接在命令行上执行时,它们按预期工作。
谁能解释发生了什么,并提供解决方法或解决方案?
package.json
执行
node.js - package.json 中的“样式”字段
我注意到Bootstrap和Normalize.css在它们的 package.json 中都有一个“样式”字段。
他们为什么有这个?如果我不得不猜测,它是为了让用户像导入定义的样式表一样容易require('bootstrap')
,但似乎并非如此。
path - 使用 npm install 将 npm-modules 放在 .meteor 目录中
是否可以定义npm-modules
将创建目录的目录的路径,何时npm install
使用?
我用过...
... 创建准系统 Meteor 应用程序。我已将 package.json 文件添加到目录的根myApp
目录:
当我跑...
...它会创建一个以目录node-modules
根myApp
目录命名的文件夹。当我调用meteor run
.
如果我手动将 移动node-modules
到myApp/.meteor/node-modules
,那么一切都很好。
我可以对package.json
文件进行更改,以便调用将在我想要npm install
的位置创建目录吗?node-modules
编辑:按照@Inchoon Park 的建议,我安装meteorhacks:npm
并创建了一个包含以下内容的 packages.json 文件:
请注意,这meteorhacks:npm
需要每个依赖项的确切版本。"neo4j": "^2.0.0-RC2"
(带有^
字符)是不允许的。
javascript - 清理 package.json "main" 以与 require 一起使用
我想保持路径是相对的,并且总是在它前面加上前导目录。
假设我有一个字符串hello
。hello
在您package.main
的参考中完全有效./hello.js
。但是,如果您接受hello
并要求它,它将查找hello
node_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
我应该只创建一个正则表达式来查看路径吗?我如何确保它可以跨平台工作?
node.js - 为什么在 package.json 中作为 devDependencies 咕噜咕噜
我是 grunt 的新手,我十分钟前开始学习它,我想知道为什么 grunt 必须作为依赖项列在 package.json 中。这意味着当有人为节点安装我的模块时,例如,npm 也会安装到他身上。但我实际上需要 grunt 来缩小内容并将它们推送到我的 git repo 并且不需要实际运行节点脚本。
我错过了什么?
更新:现在我知道如何处理咕噜声,我可以说我不太喜欢它。我发现 grunt 与 npm 太相关了。这篇文章完美地解释了我对这个任务运行器的感受:Using a task runner without package.json
npm - Docker-compose 运行多个脚本
我正在使用 docker-compose 和一个 yml 文件来启动一个容器。我要调用的 package.json 中有两个脚本:
为了调用一个我使用命令:脚本名称,我怎样才能调用多个脚本?
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 是有效的,但它仍然给出警告: