社区首页 >问答首页 >链接react-app和本地npm包的挂钩调用警告无效

链接react-app和本地npm包的挂钩调用警告无效
EN

Stack Overflow用户
提问于 2019-09-06 16:08:33
回答 3查看 3.1K关注 0票数 11

我想通过使用npm link链接我的项目来调试我创建的npm包。

代码语言:javascript
代码运行次数:0
复制
cd <my-npm-package>
npm link 
cd <my-react-app>
npm link my-npm-package

它工作得很好,但是如果我不使用任何使用react钩子的东西。但是,一旦我在my-npm-package项目中使用了像useState()这样的东西,它就会出现一些错误,我的应用程序就无法运行。

我做了很多研究,但对我有效的唯一解决方案是使用以下命令安装我的软件包

代码语言:javascript
代码运行次数:0
复制
cd <my-npm-package>
npm npm pack
cd <my-react-app>
npm install ../my-npm-package/my-npm-package-1.0.0.tgz

我理解这个问题是因为react的多个版本相互干扰。但我不知道如何修复它。

这是一个已知问题,更多信息请参阅https://github.com/facebook/react/issues/13991

但我是新手,对npm的解决方案也不太了解。

包的package.json

代码语言:javascript
代码运行次数:0
复制
{
  "name": "my-npm-package",
  "version": "1.0.1",
  "description": "Test npm package",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "socram",
  "license": "ISC",
  "devDependencies": {
    "react": "^16.9.0"
  },
  "peerDependencies": {
    "react": "^16.9.0"
  },
  "dependencies": {}
}

index.js中使用的代码

代码语言:javascript
代码运行次数:0
复制
import React, {useState} from "react"

export function test() {
    const [item, setItem] = useState("TEST")
    console.log(item);
    return setItem;
}

用于测试的react应用程序是一个使用npx create-react-app my-app新创建的react项目

解决这个问题的最好方法是什么?我不想在每次修改东西的时候运行npm pack,然后再运行npm install xxx...

这是一个更好的解决方案,而不是每次都发布到npm。但必须有更好的解决方案。

使用npm link得到的结果

使用npm pack得到的结果

EN

回答 3

Stack Overflow用户

发布于 2020-01-30 01:00:21

我在NPM包创建中使用useEffectuseState时遇到了完全相同的问题。

我一步一步地按照React文档中的说明找到了here

文档的这一部分给了我解决方案:

当你使用npm link或类似的链接时,也会出现这个问题。在这种情况下,您的捆绑器可能会“看到”两个反应-一个在应用程序文件夹中,另一个在库文件夹中。假设myapp和mylib是兄弟文件夹,一种可能的修复方法是从mylib运行npm link ../myapp/node_modules/react。这将使库使用应用程序的React副本。

链接到项目所在的目录后,可以在包目录中使用npm link,在目录项目中使用npm link <your-app>

要进行更新,请使用包目录中的npm run build,它应该会立即更新。

票数 14
EN

Stack Overflow用户

发布于 2020-05-04 09:10:06

我在尝试将本地npm react组件库注入react应用程序时也遇到了同样的问题。

我通过从本地npm包和react应用程序的node_modules中删除react修复了这个问题。

然后,我在与这两个项目相同的级别创建了另一个目录。在该目录中,我运行了npm init -y,然后安装了react。

我使用npm link指向本地npm包和摄取react应用程序,以使用react installed only目录中的react。

票数 1
EN

Stack Overflow用户

发布于 2019-09-06 16:44:56

钩子规则lint规则使用命名约定来判断代码是组件、钩子还是其他东西。以大写字母开头的函数被假定为组件。以use开头的函数被假定为钩子。其他一切都被假设为两者都不是。

由于您将函数命名为test,因此它假定它既不是组件也不是钩子,因此不允许在其中使用钩子。如果是组件,则将名称更改为Test;如果是自定义挂钩,则将名称更改为useTest

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57825421

复制
相关文章
jenkins构建触发器
第一颗*表示分钟,取值0~59 第二颗*表示小时,取值0~23 第三颗*表示一个月的第几天,取值1~31 第四颗*表示第几月,取值1~12 第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
用户1470379
2018/03/16
1.2K0
jenkins构建触发器
jenkins构建触发器
然后回到之前项目,选择Build after other projects are built
阿超
2022/08/16
9281
jenkins构建触发器
Jenkins构建通知--推送gitlab
类似于监控报警,jenkins在配置持续集成后,job的执行将自动化,这就需要每次将构建结果通知到不同载体中进行查看。
陈不成i
2021/06/02
2.5K0
gerrit触发jenkins执行脚本自动构建rpm包
持续集成包括很多,自动编译,自动打包,自动部署,自动测试。本文只涉及一部分,本文讲的是利用gerrit工具和jenkins工具在开发代码被review通过后merge到主干的时候触发rpm自动构建脚本,自动生成rpm包的过程。
后端云
2018/10/24
3.1K1
gerrit触发jenkins执行脚本自动构建rpm包
jenkins如何集成gerrit
gerrit是一个基于web的代码审查工具,用于git版本控制系统,在代码入库之前对每个提交进行审阅。
用户5521279
2019/12/20
6.1K0
jenkins如何集成gerrit
jenkins自动触发构建_触发器定时删除
跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。 jenkins的定时任务是用的crontab语法
全栈程序员站长
2022/09/19
1.5K0
jenkins自动触发构建_触发器定时删除
CodeReview实践-Gerrit自动触发JenkinsCI
当前团队使用Gerrit来做代码管理、CodeReview。计划实现当review提交到了Gerrit并且review通过(merged)自动触发Jenkins流水线。以前接触Gitlab比较多,Gerrit还是第一次开始用,踩了点坑记录下来。本文主要讲述Gerrit Trigger流水线配置,关于服务器配置等细节问题暂不研究,降低复杂性。
DevOps云学堂
2020/08/11
3.4K0
CodeReview实践-Gerrit自动触发JenkinsCI
Jenkins实例 自由风格项目--构建触发器
构建触发器,顾名思义,就是构建任务的触发器。如果不配置这一段,则要手动发布项目。配置如下后,则根据配置自动发布,例如每天发布一次,或代码更新就发布一次。
陈不成i
2021/06/04
4350
Jenkins 构建触发器选项(学习笔记九)
Build after other projects are built:在其他项目构建完成后再进行构建。
用户5760343
2022/05/24
3750
Jenkins 构建触发器选项(学习笔记九)
Jenkins(8)构建触发器之定时构建和轮询 SCM
跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。 jenkins的定时任务是用的crontab语法
全栈程序员站长
2022/09/19
5250
Jenkins(8)构建触发器之定时构建和轮询 SCM
通过Jenkins持续构建flask项目
上一篇介绍了如何把flask项目部署到服务器 但是有个明显的缺点:每次代码更新都得重新打包上传到服务器,比较繁琐 所以还是老套路啊,借助Jenkins和Gitee来实现代码的自动部署,幸运的是几年前写过关于Jenkins使用的学习博客 参考之前的写的文章,很顺利地借助Jenkins把flask项目部署好了 整体步骤如下 1、在云服务器中部署Jenkins
冰霜
2023/02/24
8870
通过Jenkins持续构建flask项目
Jenkins构建信息推送钉钉(个人定制)
没有用到第三方库,都是用 node 的内置 api 实现文件读取操作及 http 请求。
CRPER
2019/12/18
1.1K0
Jenkins构建信息推送钉钉(个人定制)
jenkins学习14-构建触发器之定时构建和轮询 SCM
跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。 jenkins的定时任务是用的crontab语法,参考这篇https://www.cnblogs.com/yoyoketang/p/11167181.html
上海-悠悠
2020/03/26
1.9K0
[原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
近年来,由于开源项目、社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发、敏捷开发、迭代开发、持续集成和单元测试这些拉风的术语。然而,大都是仅仅听到在说而已,国内也很少有公司能有完整的 CI 体系流程。反之一些开源项目都有完整的 CI体系,比如openstack。 为了实现代码托管->代码审核->代码发布的一套自动化流程,我特意在IDC服务器上部署了Gitlab+Gerrit+Jenkins对接环境,以下记录了操作过程: ------------------------
洗尽了浮华
2018/01/22
4.5K0
[原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
Jenkins(8)构建触发器之定时构建和轮询 SCM「建议收藏」
跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。 jenkins的定时任务是用的crontab语法
全栈程序员站长
2022/09/19
1.1K0
Jenkins(8)构建触发器之定时构建和轮询 SCM「建议收藏」
Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送
Generic Webhook Trigger Plugin 1.72(Jenkins插件)
授客
2021/04/15
2.5K0
Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送
基于OpenStack和Docker设计的CI/CD
目前,在Docker容器中部署和运行OpenStack云计算服务,已成为主流趋势之一。基于这样的背景,设计和实现OpenStack+Docker环境下的CI/CD应用便成为了必然,其核心是在OpenStack IaaS云计算平台上创建虚拟机,实现基于OpenStack的产品的CI/CD服务。
Henry Zhang
2019/04/12
1.4K0
基于OpenStack和Docker设计的CI/CD
详解Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送
Expression 用于提取变量值的表达式(支持JSONPath、XPath),提取的值赋值给上述自定义变量(例中为event_name)。
前端逗逗飞
2021/04/30
1.8K0
详解Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送
使用Jenkins来实现内部的持续集成流程(下)
注:如果“构建触发器”不存在此选项 请到Jenkins 插件管理安装插件Team Foundation Server Plug-in
心莱科技雪雁
2019/05/14
1.1K0
使用Jenkins来实现内部的持续集成流程(下)
使用Jenkins来实现内部的持续集成流程(下)
注:如果“构建触发器”不存在此选项 请到Jenkins 插件管理安装插件Team Foundation Server Plug-in
雪雁-心莱科技
2019/05/15
1.3K0
使用Jenkins来实现内部的持续集成流程(下)

相似问题

如何在SQL中自动增加空值

54

如何在SQL Server中自动增加插入

27

自动增加从数据库获得的VARCHAR值?

44

如何在SQL中增加文本值

12

自动增加SQL Azure配额

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档