Express 似乎无法通过kraken.js获取静态路径

Express 似乎无法通过kraken.js获取静态路径,express,static-files,kraken.js,Express,Static Files,Kraken.js,我正在尝试升级现有的express站点以使用kraken.js 到目前为止,我的动态页面加载正常,但我似乎无法提供静态文件 看看这个例子,pages,看起来很简单,我只需要添加 "middleware": { "static": { "arguments": [ "path: ./client" ] } } 在我的config.json文件中。我试图提供的文件是./client/build/js/bundle.js,我可以确认该文件存在于该文件夹中。它不在./p

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

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

看看这个例子,pages,看起来很简单,我只需要添加

"middleware": {
    "static": {
        "arguments": [ "path: ./client" ]
    }
}
在我的config.json文件中。我试图提供的文件是./client/build/js/bundle.js,我可以确认该文件存在于该文件夹中。它不在./public文件夹中

我需要做什么才能让kraken或kraken.js静态服务找到我的静态文件


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

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

"static": {
    "module": {
        "arguments": [ "path:./.build" ]
    }
}
"static": {
    "enabled": true,
    "priority": 40,
    "module": {
        "name": "serve-static",
            "arguments": [ "path:./public", "path:./client" ]
    }
},
"static": {
    "module": {
        "arguments": [ "path:./.build", "path:./build" ]
    }
},
好的,我找到了如何让它工作。注意你的配置中怎么没有public?这意味着它在其他地方被预先挂起或配置。其他地方在/node modules/kraken js/config/config.json中。我把它修改成这样:

"static": {
    "module": {
        "arguments": [ "path:./.build" ]
    }
}
"static": {
    "enabled": true,
    "priority": 40,
    "module": {
        "name": "serve-static",
            "arguments": [ "path:./public", "path:./client" ]
    }
},
"static": {
    "module": {
        "arguments": [ "path:./.build", "path:./build" ]
    }
},
然后在您的常规/config/config.json中,我将静态对象编辑为如下所示:

"static": {
    "module": {
        "arguments": [ "path:./.build" ]
    }
}
"static": {
    "enabled": true,
    "priority": 40,
    "module": {
        "name": "serve-static",
            "arguments": [ "path:./public", "path:./client" ]
    }
},
"static": {
    "module": {
        "arguments": [ "path:./.build", "path:./build" ]
    }
},
请注意,在第二个参数中没有一个。在建造之前

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

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

几天过去了,几周过去了,几个月过去了,什么也没发生。 我应该注意到我没有使用Yoeman,我们在工作中使用gulp,这可能是问题的一部分

结果证明,解决办法是

中间件:{ 静态:{ 路线:/public },


这看起来与kraken的任何文档都有很大的不同。希望这能对其他人有所帮助。

谢谢@HeadCode,我曾尝试使用module,以及name:service static和其他一些排列,但无法实现任何功能。您的./.build是否存在于公共目录中?我正在尝试进入根级别,而不是公共级别。