我正在努力学习Derby.js我遇到了很多麻烦。我知道我可以通过 npm 包含诸如 jQuery 之类的包并将其添加到 node_modules 文件夹中,但这并不是我想要做的。我希望能够像在普通 HTML 中一样包含这些文件。
所以我想做类似 <Head:> <script src="js/jquery.js"></script>
的事情.但是这不起作用,因为它找不到 js 目录。我希望这与 node.js 运行应用程序的方式有关,并且应用程序本身不会保存 js 目录。
如有任何帮助,我们将不胜感激!
最佳答案
Derby 提供了 Script:
标签:
<Scripts:>
<script type="text/javascript" src="/components/jquery/jquery.js"></script>
组件目录是因为使用了bower .将components
目录放入public
目录。根据express FAQ , 静态路由搜索below给定目录(在derby的示例应用程序中是公共(public)的)。配置 Bower 以将文件放在 public/components
( Choose bower install directory ) 下。
公共(public)目录配置在lib/server/index.js
:.use(gzippo.staticGzip(publicPath, {maxAge: ONE_YEAR}))
,其中publicPath
在上面配置为 path.join(root, 'public')
。
请注意,“内联脚本背后的想法是它在加载任何外部脚本之前立即运行。这应该只在极少数情况下使用,即脚本应该在页面显示在浏览器中之前运行,例如调整窗口大小或在不支持“自动对焦”属性的浏览器中自动对焦元素。” Nate Smith in the derby google group .
内联脚本应放在 inline.js
中,与应用程序的 index.js
位于同一目录中。
如果您需要 jQuery 在加载的页面上执行某些操作,我可以在 inline.js
中截取以下代码(Firefox、Chrome):
window.onload = function() {
alert($(this));
}
关于javascript - 在 Derby.js 中包含 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15776922/