在Derby.js中包含JS文件

3
我正在尝试学习Derby.js,但遇到了很多问题。我知道可以通过npm包含jQuery等包并将其添加到node_modules文件夹中,但这不是我想要做的。我想像在普通HTML中那样包含这些文件。
所以我想做类似于<Head:> <script src="js/jquery.js"></script>的事情。但是这不起作用,因为它找不到js目录。我认为这与node.js运行应用程序的方式有关,应用程序本身不会保存js目录。
任何帮助都将不胜感激!
1个回答

2
德比(Derby)提供了`Script`标签:
<Scripts:>
    <script type="text/javascript" src="/components/jquery/jquery.js"></script>

组件目录是由于使用bower引起的。将components目录放入public目录中。根据express FAQ,静态路由搜索给定目录下方的文件(在derby的示例应用程序中是公共的)。配置bower将文件放在public/components下(选择bower安装目录)。
公共目录在lib/server/index.js中进行配置:.use(gzippo.staticGzip(publicPath, {maxAge: ONE_YEAR})),其中publicPath在上面被配置为path.join(root,'public')
请注意,“内联脚本的想法是在任何外部脚本加载之前立即运行。这应该仅在极少数情况下使用,例如将某些内容调整为窗口大小或在不支持“autofocus”属性的浏览器中自动对焦元素之前运行脚本。”Nate Smith in the derby google group
内联脚本应放置在与应用程序的index.js文件相同的目录中的inline.js文件中。
如果您需要使用jQuery在加载的页面上执行某些操作,则可以在inline.js中使用以下代码片段(在Firefox,Chrome中测试通过)。
window.onload = function() {
    alert($(this));
}

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