使用Meteor根据模板动态加载JS/CSS

4
我了解到类似于这个问题(如这个)已经有人提出过,但是尚未找到实质性的解决方案。据我所知,Meteor目前缺乏动态加载/渲染不同UI JavaScript(如uilang)或CSS文件的能力,适用于每个模板。在我的应用程序中,我有一些需要特定JS库和CSS的模板,而其他模板则不需要。
例如:
user.html requires -> uilang.js, user_ui_code.js, userstyle.css
admin.html requires -> uilang.js, admin_ui_code.js, admin_style.css

我需要每个js/css文件根据请求的路由(例如example.com/userexample.com/admin)进行渲染/加载,以便于实现不同的背景颜色、过渡效果等。Meteor文档指出:

/public目录下的文件会原样提供给客户端。可以将像图片这样的资源存储在此处。例如,如果您有一个位于/public/background.png的图像,您可以在HTML中使用<img src="/background.png"> 或在CSS中使用 background-image: url(/background.png) 来引用它。请注意,/public不是图像URL的一部分。

因此,您可能认为将所有js/css/images资源放在public中,在中静态调用所需的文件即可解决问题。但事实上,JS(也包括CSS)文件会被连接起来并且无论您在哪个路由上都会同时运行,从而重叠代码。我不确定是否漏掉了什么显而易见的东西,或者这是否是Meteor中的实际问题?
感谢任何帮助。

1
为什么不在想要更改颜色/背景等时更改应用于您的body元素的类? - jimmiebtlr
今天我们尝试了这个。但是它只能在一定程度上工作。例如,uilang 使用 CSS 类在网站的某个部分上来激活它。还有大量的 CSS 和 JS 代码。 - mclayton
例如,主页上链接的CSS将应用于整个应用程序中的每个页面。 - mclayton
1个回答

5

太棒了。非常感谢您回答我的问题。我真的很感激。 - mclayton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接