脚本导入为插件的问题

我有一个脚本,脚本里有三个变量,然后我把脚本导入为插件(这三个变量作为全局变量),然后每次编译脚本的时候都会报错(XZD_URL是第一个变量,如果我把名字改了,就不会报这个XZD_URL的错了,而是报最后一个变量的错),是什么原因?我只在这个脚本里声明了这几个变量,求大神帮帮忙

是用的1.4.0-beta3吗?试一下插件里全局变量都改成这样定义:

window.XZD_URL = ...

1.4.0 beta3在我这里问题太多了,我就改成1.3.2正式版了,用window没问题,只是我看了文档说要谨慎使用全局变量,害怕用window会导致滥用和污染,所以没有用window :joy:

不导入为插件就没问题,导入为插件就报错,但是报错好像并不影响使用

那估计你用的是let声明的变量?改用var然后重启Creator。

果然是这样,全部改成var就没问题了,报错的那两个变量我是用const声明的,和const有关系?

因为Creator是基于Chrome的,Chrome的JS引擎支持ES6,不允许在同一scope下用let和const定义两次变量。
另外用window定义全局变量和插件里定义全局变量是一样的吧,插件只是保证你这些全局变量会在其它脚本运行前定义好。我这里1.4.0-beta3不用window定义全局变量会报错(其它版本不会)。。

1赞

不是很了解这方面的知识,谢谢了:grin:

我只定义了一次,

Creator重新编译你的脚本的时候会再运行一次。你在插件里随便写一行cc.log(123);,然后看看是不是每次编译完控制台都会输出123 :grinning:

是这样的,多谢大神:kissing_heart:

别这样,我会脸红的。。:joy:

:joy:别这样,你脸红我也会脸红的