【问题标题】:Including JS files in Derby.js在 Derby.js 中包含 JS 文件
【发布时间】:2013-03-24 12:05:10
【问题描述】:

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

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

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript jquery node.js derbyjs


    【解决方案1】:

    Derby 提供Script: 标签:

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

    组件目录是因为bower的使用。将components 目录放入public 目录。根据express FAQ,静态路由搜索下面给定目录(在derby 的示例应用程序中是公共的)。配置 bower 将文件放在public/components (Choose bower install directory) 下。

    公共目录配置在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));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-09
      • 2017-12-22
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      相关资源
      最近更新 更多