【问题标题】:How to package a local npm module?如何打包本地 npm 模块?
【发布时间】:2018-03-26 18:29:32
【问题描述】:

我正在尝试打包一个 npm 包并将其安装在我的 webapp 上。

我的应用程序具有以下结构:

  • 应用程序
    • app.ts
    • app.css
  • 构建
    • app.js
    • app.css
  • package.json
  • tsconfig.json
  • .npmignore

我从pack command 文档开始。

我添加了 .npmignore 以仅包含构建文件夹。

在运行npm pack 时,我知道有一个新的app-1.0.0.tgz

当我尝试使用 npm install ..\typescriptapp\typescriptapp-1.0.0 将其安装在网络应用程序中时

我收到以下错误:

npm 错误!代码 ENOLOCAL
npm 错误!无法安装从 "..\typescriptapp-1.0.0" 因为它不包含 package.json 文件。

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!
C:\Users\corbin\AppData\Roaming\npm-cache_logs\2018-03-26T17_49_30_440Z-debug.log

但是,当我解压缩 typescriptapp.tgz 时,我有以下结构

  • typecriptapp-1.0.0
    • typecriptapp-1.0.0
        • 构建
          • app.js
          • app.css
        • package.json
        • tsconfig.json

这是我的 package.json 文件:

{
  "name": "typescriptapp",
  "version": "1.0.0",
  "scripts": {
    "build": "tsc",
    "debug": "tsc -w"
  },
  "devDependencies": {
    "@types/signalr": "2.2.35",
    "uglify-js": "3.3.16",
    "uglifycss": "0.0.28"
  },
  "dependencies": {
    "@aspnet/signalr": "^1.0.0-preview1-update1",
    "lib": "file:../references/lib"
  }
}

我做错了什么?

【问题讨论】:

  • 你的目录结构包含 npm install ..\typescriptapp\typescriptapp-1.0.0\typescriptapp-1.0.0\package

标签: npm npm-install


【解决方案1】:

您正在尝试在父文件夹中运行安装

npm install ..\typescriptapp\typescriptapp-1.0.0

而你必须安装它

npm install ..\typescriptapp\typescriptapp-1.0.0\typescriptapp-1.0.0\package

【讨论】:

  • 你说得对,我错过了 .tgz 来正确安装 tarball。解压缩后,您的解决方案效果很好,但是,我的本地依赖项应该如何解决。它目前尝试从 tarball 位置安装?
  • 从本地依赖,你要添加什么
  • 我添加了一个 package.json 的外部依赖项,目前 /references/whatIwant/package.json 在我的项目的根目录中。理想情况下,它将作为依赖项与我的 typescriptapp 一起打包。我会继续寻找,以为我自己还没有调查过。
  • 我认为你可以在你的包中添加依赖项,它应该可以工作......但不确定如果发现对你有用的东西会回复你
  • 找不到任何发布的问题新的stackoverflow.com/questions/49500192/…
猜你喜欢
  • 1970-01-01
  • 2019-09-11
  • 2014-09-11
  • 1970-01-01
  • 2017-03-21
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
  • 2016-01-17
相关资源
最近更新 更多