如何解决“您可能需要一个额外的加载器来处理这些加载器的结果”
我目前正在尝试为React构建状态管理工具。但是,一旦将其实现到我的React项目中,它就会开始丢弃此错误:
SomeModelAdmin
如果我注释掉错误中提到的突出显示的代码行,它将跳到另一点并在那里抱怨。但这不是语法错误,因为这样TypeScript会抱怨。
该工具的工作方式: 首先,您必须定义一个框架,在此情况下为React。然后,您可以创建一个状态,并可以通过挂钩在React组件中订阅该状态。 在挂钩中,我将useEffect与框架中定义的React依赖项一起使用。在useEffect中,我创建了一个虚拟状态,然后获得了一个引用,该引用将触发重新渲染。
如果您想了解更多信息,请查看以下内容: https://gitlab.com/BennoDev/agile/-/tree/develop
依赖项:
第三方国家管理图书馆:
@admin.register(SourceModel)
class SourceModelAdmin(admin.ModelAdmin):
list_display = ("name","created_time",)
search_fields = ('name',)
autocomplete_fields = ['some_model_field',] # i.e. your M2M field in that model
节点:v14.8.0
反应项目:
Failed to compile.
path/to/agile/dist/runtime.js 116:104
Module parse failed: Unexpected token (116:104)
File was processed with these loaders:
* ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
| if (subscriptionContainer instanceof sub_1.CallbackContainer) subscriptionContainer.callback(); // If Component based subscription call the updateMethod which every framework has to define
|
> if (subscriptionContainer instanceof sub_1.ComponentContainer) if (this.agileInstance.integration?.updateMethod) this.agileInstance.integration?.updateMethod(subscriptionContainer.component,Runtime.formatChangedPropKeys(subscriptionContainer));
| }); // Log Job
|
反应:16.13.1 NPM:6.14.7
解决方法
问题是您要向dist/
发送ES2020。如果您看那条线,那是在抱怨:
if (subscriptionContainer instanceof sub_1.ComponentContainer) if (this.agileInstance.integration?.updateMethod) this.agileInstance.integration?.updateMethod(subscriptionContainer.component,Runtime.formatChangedPropKeys(subscriptionContainer));
// ^^ // ^^
您可以在发出的代码中看到它正在使用optional chaining运算符。因此,您的库的使用者将需要具有适当的配置来处理这种代码。您的示例消费者CRA应用程序正在使用Babel;尽管设置确实具有用于可选链接的转换,但它仅在React应用本身的源代码上运行,不其依赖项(包括您的库)上运行。
解决此问题的一种方法是发出较少的现代代码,这将减少使用者所需的配置量。例如,如果您在tsconfig.json
中使用以下设置来定位ES6:
{
"target": "ES6","lib": ["DOM","ES6","DOM.Iterable","ScriptHost","ES2016.Array.Include"],// ...
}
React应用程序至少可以启动,而无需更改源代码。
,最近我正在使用 Angular 7,管理员希望在我们的支付门户中添加一些增强功能。当我拉出分支并在本地运行它时,我遇到了同样的错误。
我认为这与当前版本的框架工作中使用的 js webpack、框架版本和 ecmascript 版本有关。
我为解决此错误所做的工作:
- rm -rf node_modules
- rm -f package-lock.json
- npm 安装
我在使用 NEXT.JS 时遇到了同样的问题!检查损坏的正则表达式! 我的问题:
{ f_v: '1',papel: symbol,>>> indic: indicadores.map(e => e.cd.replace(/+/g,'a')).join('+'),periodicidade: 'tri',graf_tab: 'tabela_v'}
我用 /\+/g(转义 +)替换了 /+/g 并编译得很好。
,此处使用的可选链接:
this.agileInstance.integration?.updateMethod
- 删除 node_modules/.cache
- 将“chrome 79”添加到 package.json 中的浏览器列表
- 重新加载应用
在这种情况下的问题是 react-leaflet 的 3.2.0 版本不适用于每个项目(我真的不知道为什么)。 我正在使用 CRA 进行反应,在做任何事情之前请注意 现在解决方案...
- 卸载 react-leaflet
- 转到 package.json 并粘贴此行
"react-leaflet": ">=3.1.0 "@react-leaflet/core": ">=1.0.0
这就是我解决问题的方法。 另一个网站中答案的链接。 https://www.gitmemory.com/issue/PaulLeCam/react-leaflet/891/860223422
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。