gpt4 book ai didi

javascript - 全局模板助手在meteor部署服务器上未定义

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

我的 Meteor 项目中有一个具有全局函数的文件:

client/helpers.js

console.log("INIT client helpers")

formatCurrency = function(number, currencyCode) { /* [...] */ }
formatPercentage = function(percent) { /* [...] */ }

Template.registerHelper('formatCurrency', formatCurrency)
Template.registerHelper('formatPercentage', formatPercentage)

我在客户端代码和 Blaze View 上直接使用 formatCurrency 函数。但是当我尝试在 meteor 服务器上部署时,我在模板帮助程序中遇到异常:ReferenceError:formatCurrency is not Defined。 View 位于/client/views/{category}/{view_name}.html 上,因此它们在助手之后加载。

在我的本地服务器上,当我重新加载页面时,我在浏览器控制台上登录,但当我访问产品服务器时却没有登录。

有人知道有什么区别吗?

-------------[ 更新 ]-------------

看起来 Meteor 从未调用过帮助程序文件。如果我没有在助手上使用它们的任何功能,并加载页面,它就可以工作。但是,如果我尝试调用函数(在控制台上),则会出现 undefined 错误,在所有页面准备就绪后 2 秒发生事件。

最佳答案

我认为您的加载顺序可能是错误的。根据文档:http://docs.meteor.com/#/full/structuringyourapp , View 将首先加载,因为它们具有更深的路径(规则 4),这优于字母顺序(规则 5)。

HTML template files are always loaded before everything else
Files beginning with main. are loaded last
Files inside any lib/ directory are loaded next
Files with deeper paths are loaded next
Files are then loaded in alphabetical order of the entire path

尝试将全局助手放入“lib”目录(规则 3),例如“client/lib/helpers.js”

关于javascript - 全局模板助手在meteor部署服务器上未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443906/

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