3

我正在尝试学习Derby.js,但遇到了很多麻烦。我知道我可以通过 npm 包含诸如 jQuery 之类的包并将其添加到 node_modules 文件夹中,但这并不是我想要做的。我希望能够像在普通 HTML 中一样包含这些文件。

所以我想做类似的事情<Head:> <script src="js/jquery.js"></script>。这不起作用,因为它找不到 js 目录。我希望这与 node.js 运行应用程序的方式有关,并且应用程序本身不会保存 js 目录。

任何帮助,将不胜感激!

4

1 回答 1

2

德比提供Script:标签:

<Scripts:>
    <script type="text/javascript" src="/components/jquery/jquery.js"></script>

components 目录是因为使用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')

请注意,“内联脚本背后的想法是它会在加载任何外部脚本之前立即运行。这仅应在脚本应在页面显示在浏览器中之前运行的极少数情况下使用,例如调整大小在不支持“自动对焦”属性的浏览器中,窗口或自动聚焦元素。” Nate Smith 在 derby google 小组中。

内联脚本应放置在inline.js与应用程序相同的目录中index.js

如果您需要 jQuery 在加载的页面上执行某些操作,则以下代码在我身边(Firefox,Chrome)中工作inline.js

window.onload = function() {
    alert($(this));
}
于 2013-05-01T22:27:17.053 回答