当前位置: 首页 > 知识库问答 >
问题:

前端 - 在vue项目中如何将自己开发的组件放到当前项目中的node_modules包中呢?放进去的组件版本号如何设置呢?

黄啸
2023-11-29

在vue项目中如何将自己开发的组件放到当前项目中的node_modules包中呢?放进去的组件版本号如何设置呢?

共有5个答案

闻人锦
2023-11-29

首先,要将自己做的组件,单独一个工程。
做成 npm 的包。 发布到 npm 上或者发布到自己公司的私服。
npm 官方有 npm 包开发的文章。

第二个问题。 package 的版本管理。

npm 的版本号为 X.Y.Z 这种格式,并且 X、Y、Z 均为正整数并且不断递增。
X 表示大版本(major)、
Y 表示小版本(minor)、
Z 表示补丁版本(patch)
每次,publish 包体,npm 必须不能等同于上次发包的包体。 所以, npm 针对当前的规则提供了,快捷变更版本好的命令。
大版本: npm version major
小版本: npm version minor
补丁版本: npm version patch

柴飞扬
2023-11-29

直接 npm install <path/to/package> 就可以了。至于版本号,因为本地磁盘上只有这一个版本的代码,所以版本号是恒定的,为 <path/to/package>/package.json 中设置的版本号。

参见:npm-install | npm Docs、package.json | npm Docs

当然,也可以使用 npm link

如果必须要支持多版本,就考虑发布私有包吧。

楚冷勋
2023-11-29

你的项目package.json 是管理依赖的。是要你自己安装 npm install 安装的。

在node_modules每个包里也是有package.json,里面有信息是告诉编辑器你引入的时候入口是哪个文件,还有写插件所依赖的插件。

最好的方法就是,单独打包发布。

1、发布到NPM上去上去,然后安装。
2、发布到自己建的私有NPM仓库。

手动加的话不是不行,但很费事,你不但要写插件,还要自己配置package.json。
最好自己单独打包,不打也行。
举个例子。
image.png

这是写的一个插件的包的package.json。
这里要写name、version、type(模块)、main(入口文件)、types(ts声明)、files(指定目录)。

然后在node_modules新建文件夹,名字和name一致。把你写的插件整个复制进来,然后再文件夹里建一个package.json,填写以上信息。因为我写的是ts,所以files必须引入的打包后的dist文件。如果你不用ts开发,你的插件在哪个文件就用那个files。

然后就可以用了。

PS: 附整个package.json以供参考

{    "name": "vite-plugin-html-layout",    "author": "sanguogege",    "version": "1.5.1",    "type": "module",    "main": "dist/index.js",    "types": "dist/index.d.ts",    "keywords": [        "layout",        "vite-plugin-html-layout",        "for vite"    ],    "repository": {        "type": "git",        "url": "https://github.com/sanguogege/vite-plugin-html-layout"    },    "license": "MIT",    "description": "a plugin only for vite, about layout html",    "files": [        "src"    ],    "scripts": {        "dev": "vite",        "build": "tsc && vite build",        "preview": "vite preview"    },    "devDependencies": {        "@types/node": "^20.8.3",        "typescript": "^5.0.2",        "vite": "^4.4.5"    },    "dependencies": {        "handlebars": "^4.7.8",        "parse5": "^7.1.2",        "vite-plugin-dts": "^3.6.0"    }}
墨高杰
2023-11-29

先发到NPM上去, 参考:

https://www.cnblogs.com/xiaohuizhang/p/15308132.html
https://juejin.cn/post/7088609251924377637
翟奕
2023-11-29

首先,您需要将您的组件发布到 npm 或 yarn,使得它能够被其他人通过这些包管理工具使用。在发布之后,其他项目就可以通过 npm install 或 yarn add 命令来引入并使用您的组件。

下面是如何发布一个 Vue 组件到 npm 的步骤:

  1. 首先,确保您已经在项目的根目录下安装了 npm。您可以通过在终端输入 npm -v 来确认这一点。
  2. 在项目的根目录下,创建一个新的文件夹来存放您的 Vue 组件。进入该文件夹并创建一个新的 Vue 组件文件。
  3. 在项目的根目录下,打开终端并运行 npm init 来创建一个新的 npm 项目。您可以选择默认设置或手动设置。
  4. 运行 npm install vue 来添加 Vue 作为您项目的依赖项。
  5. 在您的 Vue 组件文件中,将您的代码复制到新建的文件中。确保您的组件导出语句是正确的,例如 export default MyComponent
  6. 在您的项目的根目录下,运行 npm run build 来构建您的组件。这将生成一个 dist 文件夹,其中包含构建后的文件。
  7. 回到终端,运行 npm publish 来发布您的组件到 npm。您可能需要输入您的 npm 用户名和密码。
  8. 在发布成功后,其他项目就可以通过 npm install your-component-name@versionyarn add your-component-name@version 来引入并使用您的组件,其中 your-component-name 是您组件的名称,version 是您发布的版本号。

在发布时,您可以选择发布一个特定版本(例如 1.0.0),或者发布一个带有版本号的主版本(例如 1.0.x)。在发布主版本时,npm 会自动为您生成一个随机的版本号。如果您想在未来的版本中更改您的组件,只需运行 npm version patchnpm version minornpm version major,然后再次发布您的组件。

 类似资料:
  • 执行mvn spring:启动运行后出现以下错误: [错误]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中没有找到前缀“Spring”的插件,可从存储库[本地(/path/to/本地/repo)、Spring快照(http://repo.spring.io/snapshot)、Spring-里程碑(http://repo.spring.

  • 我跑 命令,我得到 --在当前项目中,以及从存储库[local(C:\work.m2\repository)]获得的插件组[org.apache.maven.plugins,org.codehaus.mojo]中,未找到前缀为“jetty”的插件,错误:-- 控制器 网状物xml 苹果onfig.xml 波姆。xml

  • 我现在向其他人展示了如何创建vue.js/Flask应用程序,我看到vue-cli的工作方式似乎发生了变化,因此我不再能够访问文件夹。 我阅读了文档,他们似乎说它现在抽象掉了Webpack配置(“因为@vue/cli-service抽象掉了Webpack配置...”),但是如果我想查看Webpack的配置选项,我可以执行。我这样做了,但没有看到八个月前我这样做时更改的条目: : : 看起来命令行命

  • 我正在将firebase crashlytics从fabric集成到我的android项目中,我的项目有很多合作伙伴,我正在为这些所有的合作伙伴从android源集中构建输出。 在firebase控制台中,我已经为每个合作伙伴设置了一个调试和第2版项目。所以现在google services插件为每个合作伙伴搜索google-services.json文件,我想把这些文件(2个google-ser

  • 我试图部署一个maven java应用程序在heroku使用eclipse JEE。但当我运行我得到了这个错误 [错误]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中没有找到前缀heroku的插件[本地(C:\用户\menna. m2\repository),中央(https://repo.maven.apache.org/maven2

  • 我已经阅读了几个类似问题的问题和帮助1页。不幸的是,我被困住了。 一个可能的原因可能是由代理引起的,但这里没有这样的代理。此外,当我从Eclipse更新它时,我PC中的所有maven项目都已成功更新。所以我放弃了这种可能性。 我检查的另一件事是在我的本地存储库中查找codehaus,我找到了它(C:\Users\myUser.m2\repository\org\codehaus\mojo)。 另一