Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cloud9中多个js文件的自动完成_Javascript_Autocomplete_Cloud9 Ide_Ace Editor - Fatal编程技术网

Javascript Cloud9中多个js文件的自动完成

Javascript Cloud9中多个js文件的自动完成,javascript,autocomplete,cloud9-ide,ace-editor,Javascript,Autocomplete,Cloud9 Ide,Ace Editor,我正试图将我的工作区移动到c9,因为当我在NodeJS项目上工作时,Ace编辑器的自动完成功能让我非常高兴 但现在我想在客户端处理JS文件。正是从这一点上,自动完成出错了。事实上,在JS文件本身内部的客户端JS中并没有诸如“require”命令之类的命令(除了使用一些插件)来通知在JS中使用的其他源文件 因此,当我在一个JS文件中使用在另一个文件中定义的函数(甚至是库、框架:jquery等)时,Ace会通知我该函数未定义(因为我猜它无法知道该函数是在另一个文件中定义的) 我们来看看:我是否可以在

我正试图将我的工作区移动到c9,因为当我在NodeJS项目上工作时,Ace编辑器的自动完成功能让我非常高兴

但现在我想在客户端处理JS文件。正是从这一点上,自动完成出错了。事实上,在JS文件本身内部的客户端JS中并没有诸如“require”命令之类的命令(除了使用一些插件)来通知在JS中使用的其他源文件

因此,当我在一个JS文件中使用在另一个文件中定义的函数(甚至是库、框架:jquery等)时,Ace会通知我该函数未定义(因为我猜它无法知道该函数是在另一个文件中定义的)


我们来看看:我是否可以在代码中添加一些注释行,或者设置一些c9配置来纠正这种行为?

要删除错误和警告,只需在javascript文件顶部附近添加以下行:

/*globals jquery lodash someOtherLibrary*/

然而,Cloud9还没有为客户端库执行自动完成。

滥用C9需要支持 使用
var yourLibrary=require(“./somefile.js”),自动完成工作完美

但是,正如您所说,
require()
不存在,您也不希望将
yourLibrary
设置为未定义。(或只是抛出一个错误)

事实证明,C9并没有那么聪明:

//Your library was defined in some other file

var yourLibrary; //"This does nothing other than making C9 happy
function require() {return 1;} //Define the require function
if(false) {
   yourLibrary = require("yourLibraryFile.js");
}
现在,您可以使用autocomplete(它甚至显示文档注释)


注意:它并不总是有效。

好的,我想这是我能期望的最好答案。感谢