【问题标题】:Phoenix Framework (Elixir) - Loading JS files into the asset pipelinePhoenix Framework (Elixir) - 将 JS 文件加载到资产管道中
【发布时间】:2016-05-26 10:13:51
【问题描述】:

所以我已经获得了使用 Phoenix 的角度,但是当我尝试将我的控制器移动到 web/static/js/controllers 下的单独文件时,它们没有加载。我猜这与早午餐有关,但我不确定……有什么想法吗?

谢谢!

【问题讨论】:

    标签: elixir phoenix-framework brunch


    【解决方案1】:

    我自己以前也遇到过这个问题。我相信这与早午餐有关。你试过运行mix phoenix.digest吗?

    如果我没记错的话,如果您将文件移动到 priv/static 它应该可以工作(而不是它们位于 Web 目录中),但我认为这不是正确的方法。

    【讨论】:

    • 我已经尝试过mix phoenix.digest,但我必须阅读更多关于它的内容,因为它似乎没有多大作用......我会尝试转到priv/static,但就像你一样说-我不确定这是正确的方法。无论如何谢谢:)
    • 如果您找到答案,请回帖。我的一个项目中也有这个问题,但还没有时间去研究它。
    • 好吧,我找到了一个解决方案,但它不是很优雅......在 app.js 中,您可以在实际控制器 JS 文件(名为 test_controller .js,请注意在 app.js 中您没有编写 .js 扩展名)但就像我说的 - 这不是最优雅的解决方案,因为我想在目录中自动加载文件,而不是指定每个文件...
    【解决方案2】:

    好吧,我找到了一个解决方案,但它不是很优雅......在 app.js 中你可以做到 import testcontroller from './controllers/test_controller' 没有在实际的控制器 JS 文件中导出(名为 test_controller.js,请注意在 app.js 中您没有编写 .js 扩展名)但是就像我说的那样 - 这不是最优雅的解决方案,我想自动加载目录中的文件,而不是指定每个文件......

    【讨论】:

      【解决方案3】:

      已修复! 首先,我用 Gulp 替换了 Brunch.io(你可以在这里找到一个很好的指南 - http://bryaninspired.com/phoenix-0-10-with-gulp-and-jspm/) 我遇到的第二个问题是 jspm 没有加载我安装的包。这里的问题是在 config.js 中我给出了绝对路径而不是相对路径:

      paths: { "github:*": "/jspm_packages/github/*", "npm:*": "/jspm_packages/npm/*" }

      现在它可以很好地加载 AngularJS,以及我放在 web/static/js 中的任何 JS 文件,包括子目录。 现在让我们看看它是否能够加载我的 Angular HTML 文件....

      编辑 似乎加载 Angular 是一回事,但实际上 running 我的 Angular 代码不起作用......我试图找出原因......我认为它与 SystemJS 或 Gulp 有关. 奇怪的是,非角度代码(就像 test.js 文件中的一个简单的console.log)运行得很好。 angular.module('blah',[]).whatever 中的任何东西似乎都没有运行.....

      编辑 #2 - 已修复! 似乎我忘记在我的 JS 中添加以下内容

      angular.element(document).ready(function() { angular.bootstrap(document, ['ApplicationName']); });

      别忘了在准备好的文档上引导 Angular!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-10
        • 2014-03-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多