问题标签 [npm-publish]
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.
npm - 将 ember 插件发布到本地 NPM 注册表以供开发人员构建?
我如何支持这些 NPM/ember 插件场景?
- 开发人员构建 ember 插件 A 并使用构建 ember 应用程序 B,它使用他们的 A 本地包
- 开发人员只从我们的 nexus NPM 集成存储库构建 B 安装 A
- 构建系统构建 ember 插件 A 安装到我们的 nexus NPM 发布存储库中
马文
- developer desktop builds将软件包安装到本地 repo 以供稍后在构建中使用。
- 构建系统构建将包部署到我们的内部共享存储库以供开发人员使用,因此他们不需要构建所有
新PM
- 构建系统构建可以使用npm publish --registry http://ourrepo/nexus/ ....发布到私有注册表
- 开发桌面版本吗????
我们可以将 DependsOnMe 与相对路径一起使用,但这需要我们设置某种规则,使构建在本地以一种方式工作,而在构建机器上以另一种方式工作。
虽然可能,但我希望有一个更优雅的解决方案来实现这一点。
我可以让开发人员生成进入本地 npm 缓存以供以后使用的包吗?如果可以,你能指点我那个文档吗?
有关的
node.js - npm 无法发布我的模块
我正在尝试发布我的模块以查看它是如何工作的。
我安装了 npm,然后创建了我非常简单的模块。
我曾经npm add user
将自己添加为新用户。我收到以下消息:Logged in as david1994 on https://registry.npmjs.org/
然后我尝试使用 发布我的模块npm publish
,但出现以下错误:
npm-debug.log
但我在我的模块目录中看不到任何内容。
node.js - 使用多个 npm 注册表和用户帐户
对于我自己的所有东西,我使用公共 npm 注册表,但是我目前正在使用的客户之一刚刚安装了 sinopia,并希望将其用于站点托管的私有模块。
这很好,但是当我在不同的地方使用我的笔记本电脑时,我真的不想将自己永久地绑定到这个注册表,所以我们已经将我们在这里使用的每个 repo 设置为默认使用自定义注册表:
这会将我正在处理的存储库绑定到该注册表,这很棒,但我需要使用它验证自己,所以我需要在那里设置一个用户,并且此存储库的所有后续发布都需要使用这个创建的用户帐户,但是我只想在使用该存储库时使用它。
那么有没有一种方法可以使用我的 npm 用户帐户(已经保存在本地)将正常的 npm 注册表保持为默认值,但不知何故只需为此注册表注册用户帐户,以便当它通过npm publish
该自定义发布到publishConfig
它时只知道注册表并自动使用正确的用户帐户。
因为我不想每天早上都必须进来将注册表设置为这个并使用不同的帐户,然后回家并将其重置为公共 npm 注册表,我只想让 npm 知道那个注册表的用户然后忘记它,所以无论如何要在这里吃我的蛋糕吗?
node.js - .npmignore 发布时不忽略 index.ts 文件
我正在创建一个要发布到 npm 的 Angular2 组件库。我在整个源代码中使用 index.ts 作为我的桶文件。我已经在我的 .npmignore 文件中包含了 *.ts,但是 index.ts 被包含在发布到 npm 的代码中。当我在使用 Angular2 项目中安装组件时,index.ts 包含在安装在 node_modules 文件夹中的代码中。在 npm 安装库中使用 index.ts 会阻止主应用程序的构建,因为 index.ts 不在根文件夹中。令人惊讶的是,我的所有其他 .ts 文件都被排除在 npm 安装中。
这是我的 .npmignore 文件:
除了 index.ts,一切都被忽略了。
我必须手动进入并删除每个 index.ts 文件,然后一切都按预期工作。
我错过了什么导致 index.ts 被包含在内?
我正在使用 npm 版本 3.9.6。
谢谢你的帮助。
npm - npm 发布最新
我发布了我的软件包的新版本(0.3.2),但它不是最新版本。
npm view
给我吗:
我收到一个 NPM 错误:“您无法在以前发布的版本 0.3.2 上发布”
github - npm install and build forked github repo
我正在为我的 Angular 应用程序使用一个名为 angular-translate 的模块。但是,我不得不对源代码进行一些小的修改,以使一切按我想要的方式工作,现在我想将这些更改保留在npm install
. 一位同事建议我 fork 源代码的 repo 并将我的 fork repo 作为依赖项,我已经尝试过这些方式,例如
第一个给了我一个这样的目录,没有构建。只是一个 package.json、.npmignore 和一些 markdown 文件
第二个npm install
给了我完整的 repo,但是当我使用 command 时,我又没有得到一个构建npm install angular-translate
。我已经看到一些关于运行预发布脚本的讨论,但我不确定在安装所有模块时如何执行此操作。我也尝试将 fork 作为我自己的模块发布到 npm 注册表,但我再次没有构建,我不确定这是正确的做法......
对于我对这个话题的无知,我深表歉意。我没有大量使用 npm 的经验。希望得到关于这个问题的一些反馈。当需要对包的源代码进行修改时,这似乎是一个足够普遍的问题?也许有更好的解决方案?
node.js - 将我的打字稿代码发布到 npm 时如何处理 d.ts 文件
我一直在关注这篇文章:
并一直在尝试设置我的打字稿项目以将其发布到 npm。
这一切似乎都说得通,但没有涵盖的是如何处理d.ts
文件。
我的项目看起来有点像这样:
所以当我用它编译它时"declaration": true
,"outDir: "dist"
我得到:
我的server.ts
文件和client.ts
文件都有
因此,当其他人使用此包时,打字稿编译将失败,因为server.d.ts
两者client.d.ts
仍然具有此导入。
节点将运行良好client.js
,但server.js
没有此导入。tsc
必须删除d.ts
文件的导入。
我想要发生的是将contracts.d.ts
文件复制到 dist 文件夹作为构建的一部分。tsc
作为构建的一部分,我该如何做到这一点?
当前的解决方法
为了解决这个问题,我目前正在做的是将 my 重命名contracts.d.ts
为,contracts.ts
这意味着所有必需的文件都存在于 dist 文件夹中,但这确实意味着客户端和服务器都必须加载一个contracts.js
仅包含的空文件
maven - 在maven中执行特定的执行id
我正在尝试使用 maven-release-plugin 发布 npm 包。为此,我正在使用前端 maven 插件。版本本身运行良好,除非 maven-release-plugin 将 pom.xml 版本转换为下一个开发迭代 XXX-SNAPSHOT。
为此,我希望能够通过在 mvn 中指定目标来执行特定的执行 ID。
更具体地说,我正在尝试使用来自 maven-release-plugin 中标记的特定配置从 frontend-maven-plugin 运行目标<completionGoals>
,以便在发布过程后保持 pom.xml 文件和 package.json 版本同步。
在下面的示例中,我尝试使用 @ 符号明确指定要在目标中执行的执行(“setversion”执行),但这似乎不起作用,我得到“找不到目标'npm@ setversion'” 发布期间的错误。我曾尝试在目标规范中直接使用参数,但没有任何成功。
有任何想法吗?
node.js - npm 发布 index.d.ts 不导出模块
我们正在尝试创建一个 npm 包,这是我们大多数项目的基础,但我们遇到了以下问题:
我们的index.d.ts
基础 npm 包如下所示:
第一行效果很好,我们可以访问核心文件夹中的模块,但是第二部分不起作用。
但是如果我们将相同的代码放在custom.d.ts
我们自己的项目中,那么 html 文件的导入效果很好。
( package.json
某些部分已删除)如下所示:
文件夹结构: