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