gpt4 book ai didi

javascript - 需要js废墟代码导航

转载 作者:行者123 更新时间:2023-12-03 12:59:15 25 4
gpt4 key购买 nike

require.jsdefine([requiremens], object) 说明在模块内定义对象的方式作为最好的方式。

所以每个页面,或者其他js文件,都会做require()调用和接收模块作为参数。

这很好用,每个函数/模块都有自己的命名空间。

问题是我有:

// AJAX/Requests.js

define(['UI/Message'],function(Message){
var Requests={
checkResponse:function(response){
//1==ok
//0==error
//2==good message
//3==good message, but still stop
if(response.status==1){
return true;
}
else if(response.status==2){
Message.good(response.message);
return true;
}
else if(response.status==3){
Message.good(response.message);
return false;
}
else{
Message.bad(response.message);
return false;
}
}
};
return Requests;
});

现在 UI/Message 以相同的方式定义,并返回对象。

但是当我用请求编辑文件时,我无法通过代码导航,所以如果我想编辑 Message 对象,唯一的方法是自己打开文件并找到我需要的功能,而不是让 IDE 跳转到那里为了我。

是否有一些专门针对 pycharm 的解决方法或共同的 require.js 来解决此问题?当您有大量代码时,导航它会变得一团糟,这就是我首先使用 IDE 的原因!

更糟糕的是:编辑器永远不知道对象有什么功能!

我可以看到的一种可能的解决方案是不使用封闭的命名空间,并在 define() 之前声明全局变量。调用,但在这种情况下,所有对象都应像 UI_Message、AJAX_Requests 一样调用。为了确定,我在两个不同的位置没有一些消息....

而且我不确定 require.js 优化器是否会正确使用它。 Require.js 文档说明的很清楚,要远离全局变量。

最佳答案

这是一个 known issue ,请加星/投票。

从问题描述:

The dojo library switched to AMD's format define() for loading modules instead of dojo.require(). Previously I was able to use Ctrl+B on dojo.require('path.to.someJs') to jump to the declaration. This does not work on the new format define(['path/to/someJs]', ...).



由于 PyCharm、WebStorm、PhpStorm 和 IntelliJ IDEA 共享同一个 JavaScript 插件,这个问题也适用于您使用的产品。在修复此错误之前,您将继续观察所描述的问题。带来不便敬请谅解。

关于javascript - 需要js废墟代码导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com