【问题标题】:can't seem to get static route with kraken.js似乎无法使用 kraken.js 获得静态路由
【发布时间】:2014-12-15 06:08:35
【问题描述】:

我正在尝试升级现有的 express 站点以使用 kraken.js

我的动态页面加载正常(到目前为止),但我似乎无法提供静态文件。

看例子,页面,看起来很简单,我只需要添加

"middleware": {
    "static": {
        "arguments": [ "path: ./client" ]
    }
}

在我的 config.json 文件中。我要提供的文件是./client/build/js/bundle.js,我可以确认该文件存在于文件夹中。它不在./public 文件夹中。

我需要做什么才能让 kraken(或 kraken.js static-serve)找到我的静态文件?

我已将文件放在./public/client/build/js/bundle.js 中,并且 kraken 在该位置找到文件没有问题。

【问题讨论】:

    标签: express static-files kraken.js


    【解决方案1】:

    我认为您可能缺少中间件对象的“模块”成员。我当前由 Kraken 生成的静态中间件配置对象如下所示:

    "static": {
        "module": {
            "arguments": [ "path:./.build" ]
        }
    }
    

    好的,我知道了如何让它工作。请注意在您的配置中“公共”不在那里?这意味着它被预先挂起或配置在其他地方。其他地方在 /node-modules/kraken-js/config/config.json 中。我修改它看起来像这样:

    "static": {
        "enabled": true,
        "priority": 40,
        "module": {
            "name": "serve-static",
                "arguments": [ "path:./public", "path:./client" ]
        }
    },
    

    然后在您的常规 /config/config.json 中,我将静态对象编辑为如下所示:

    "static": {
        "module": {
            "arguments": [ "path:./.build", "path:./build" ]
        }
    },
    

    请注意,在第二个参数中没有“。”在构建之前。

    最后,我在主布局中使用了如下所示的脚本标签:

    <script src="/js/test.js"></script>
    

    所以,从你的项目根目录我有 /client/build/js/test.js 和 test.js 正确加载。

    此外,还有一种更简单的方法可以做到这一点,并且不需要在海妖源中捣乱。在您的主 index.js 文件中,您可以这样做:

    app = module.exports = express();
    app.use(kraken(options));
    app.use(express.static('client'));  // Add this line
    

    【讨论】:

    • 感谢@HeadCode,我曾尝试使用模块,以及"name":"serve-static" 和其他一些排列,但无法正常工作。您的公共目录中有./.build 吗?我正在尝试进入根级别,而不是公开。
    【解决方案2】:

    几天,几周,几个月过去了,但没有任何效果。 我应该注意到我没有使用 Yoeman,我们在工作中使用 gulp,这可能是问题的一部分。

    原来的解决办法是

    "middleware": { "static": { "route": "/public" },

    这看起来与 kraken 的任何文档都非常不同。希望这可以帮助某人。

    【讨论】:

      猜你喜欢
      • 2014-03-12
      • 2011-12-23
      • 1970-01-01
      • 2014-11-04
      • 2015-11-09
      • 2021-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多