Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 main()和闭包编译器_Javascript_Google Closure Compiler - Fatal编程技术网

Javascript main()和闭包编译器

Javascript main()和闭包编译器,javascript,google-closure-compiler,Javascript,Google Closure Compiler,我有一些javascript,经过SIMPLE\u优化的闭包编译后运行良好。但是我想执行执行执行死代码删除的高级优化 在阅读了一些相关文档之后,我相信我的main()函数(通过调用)正在被我的编译器删除。为了确认这一点,我放了一个console.log('hello')我的main()函数中的代码行。当在文本编辑器中通过简单和高级优化打开闭包编译的结果时,我可以发现console.log('hello')在简单版本中,但在高级版本中不存在 所以我的问题是,有没有一种优雅的方式告诉编译器,main

我有一些javascript,经过
SIMPLE\u优化的闭包编译后运行良好。但是我想执行执行执行死代码删除的高级优化

在阅读了一些相关文档之后,我相信我的
main()
函数(通过
调用)正在被我的编译器删除。为了确认这一点,我放了一个
console.log('hello')我的
main()函数中的代码行。当在文本编辑器中通过简单和高级优化打开闭包编译的结果时,我可以发现
console.log('hello')在简单版本中,但在高级版本中不存在


所以我的问题是,有没有一种优雅的方式告诉编译器,
main()
不是不可访问的?(或者可能是我做错了什么。)

将其与事件侦听器绑定,而不是将其内联到html中。例如,而不是:

HTML

<body onload="main()">Test</body>
使用

新JS

var main = function() { /* Do something */ }
var main = function() {
    console.log("Here!");
}
window.addEventListener("load", main);

然后可以从HTML中删除
onload=“main()”
。这在JavaScript中也被认为是良好的实践。

将其与事件侦听器绑定,而不是将其内联到html中。例如,而不是:

HTML

<body onload="main()">Test</body>
使用

新JS

var main = function() { /* Do something */ }
var main = function() {
    console.log("Here!");
}
window.addEventListener("load", main);

然后可以从HTML中删除
onload=“main()”
。这在JavaScript中也被认为是良好的实践。

将其与事件侦听器绑定,而不是将其内联到html中。例如,而不是:

HTML

<body onload="main()">Test</body>
使用

新JS

var main = function() { /* Do something */ }
var main = function() {
    console.log("Here!");
}
window.addEventListener("load", main);

然后可以从HTML中删除
onload=“main()”
。这在JavaScript中也被认为是良好的实践。

将其与事件侦听器绑定,而不是将其内联到html中。例如,而不是:

HTML

<body onload="main()">Test</body>
使用

新JS

var main = function() { /* Do something */ }
var main = function() {
    console.log("Here!");
}
window.addEventListener("load", main);

然后可以从HTML中删除
onload=“main()”
。这在JavaScript中也被认为是良好的实践。

您还可以使用
--closure\u entry\u point
标志。无论哪个文件中有
main
,在该文件中放入类似于
goog.provide('myapp.entrypoint')
的内容,然后将
--closure\u entry\u point=myapp.entrypoint
传递给编译器。

您也可以使用
--closure\u entry\u point
标志。无论哪个文件中有
main
,在该文件中放入类似于
goog.provide('myapp.entrypoint')
的内容,然后将
--closure\u entry\u point=myapp.entrypoint
传递给编译器。

您也可以使用
--closure\u entry\u point
标志。无论哪个文件中有
main
,在该文件中放入类似于
goog.provide('myapp.entrypoint')
的内容,然后将
--closure\u entry\u point=myapp.entrypoint
传递给编译器。

您也可以使用
--closure\u entry\u point
标志。无论哪个文件中有
main
,在该文件中放入类似于
goog.provide('myapp.entrypoint')
的内容,然后将
--closure\u entry\u point=myapp.entrypoint
传递给编译器