Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Meteor:加载javascript文件,但不要';我不能执行。按需执行_Meteor_Iron Router - Fatal编程技术网

Meteor:加载javascript文件,但不要';我不能执行。按需执行

Meteor:加载javascript文件,但不要';我不能执行。按需执行,meteor,iron-router,Meteor,Iron Router,我想加载javascript文件,但不想为其创建“”标记。 我用的是铁制路由器。因此,我希望这个js文件在“onAfterAction”钩子中执行,即在加载模板之后执行 我正在考虑以下方法: 一种方法是将此文件放在“public”目录中,并使用“$.getScript”函数按需加载和执行此文件。但是,这些文件不会缩小并压缩为一个文件。此外,这将需要在n/w上进行另一次提取 另一种方法是创建一个包并将此文件包含在包中。但是,我必须将整个文件封装在一个函数中,并在包中“导出”这个函数。并根据需要执行

我想加载javascript文件,但不想为其创建“
”标记。 我用的是铁制路由器。因此,我希望这个js文件在“onAfterAction”钩子中执行,即在加载模板之后执行

我正在考虑以下方法:

  • 一种方法是将此文件放在“public”目录中,并使用“$.getScript”函数按需加载和执行此文件。但是,这些文件不会缩小并压缩为一个文件。此外,这将需要在n/w上进行另一次提取
  • 另一种方法是创建一个包并将此文件包含在包中。但是,我必须将整个文件封装在一个函数中,并在包中“导出”这个函数。并根据需要执行此功能
  • 第三种方法是将这些文件放在“client”目录中,并调用“$.getScript('/client/js/…”。但是,js文件将执行两次,因为将为其创建“
    ”标记

  • 有没有更好的方法来实现这一点,使文件在本地可用,并且可以按需执行?

    根据我对Meteor的了解。所有JavaScript都不必加载
    标记即可执行。根据您对它作为公共脚本的认可程度,我会将其放在
    客户端
    文件夹中,并使用
    模板。[您的模板名称]。以某种方式呈现
    ,您可以在呈现模板后加载特定脚本


    将代码包装到函数中,并仅在需要时调用该函数?为什么不在开始时加载它?如果它包含敏感信息,您可能希望将其放在/server文件夹中。