首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >似乎无法使用kraken.js获取静态路由

似乎无法使用kraken.js获取静态路由
EN

Stack Overflow用户
提问于 2014-12-15 14:08:35
回答 2查看 848关注 0票数 0

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

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

看一下示例pages,它看起来非常简单,我只需要添加

代码语言:javascript
复制
"middleware": {
    "static": {
        "arguments": [ "path: ./client" ]
    }
}

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

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

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

EN

回答 2

Stack Overflow用户

发布于 2014-12-16 00:25:29

我认为您可能遗漏了中间件对象的"module“成员。我当前的Kraken生成的静态中间件配置对象如下所示:

代码语言:javascript
复制
"static": {
    "module": {
        "arguments": [ "path:./.build" ]
    }
}

好了,我知道怎么让它工作了。注意到你的配置中没有"public“吗?这意味着它被预先挂起或在其他地方配置。其他位置在/node-modules/kraken-js/config/config.json中。我将其修改为如下所示:

代码语言:javascript
复制
"static": {
    "enabled": true,
    "priority": 40,
    "module": {
        "name": "serve-static",
            "arguments": [ "path:./public", "path:./client" ]
    }
},

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

代码语言:javascript
复制
"static": {
    "module": {
        "arguments": [ "path:./.build", "path:./build" ]
    }
},

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

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

代码语言:javascript
复制
<script src="/js/test.js"></script>

因此,从您的根项目目录中,我可以正确地加载/client/build/js/test.js和test.js。

此外,还有一种更简单的方法,它不需要在kraken源代码中浪费时间。在主index.js文件中,您可以执行以下操作:

代码语言:javascript
复制
app = module.exports = express();
app.use(kraken(options));
app.use(express.static('client'));  // Add this line
票数 0
EN

Stack Overflow用户

发布于 2015-03-26 08:04:11

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

解决方案被证明是

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

它看起来与kraken的任何文档都有很大的不同。希望这对某些人有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27478282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档