1

我的组件加载正常,但样式未加载,事件也未触发。我正在关注文档并且没有抛出任何错误,但似乎我可能在这里遗漏了一些基本的东西?

查看模板渲染res.marko

import Explanation from "./components/explanation.marko";
<!DOCTYPE html>
<html lang="en">
<head>
  ...
</head>
<body>
  ...
  <include(Explanation, input.explanation) />
  ...
</body>
</html>

explanation.marko file

class {
  onExplanationClick() {
    console.log("Explanation clicked");
  }
}

style {
  .explanation-paragraph {
    color: red;
  }
}

<div id="explanation" on-click('onExplanationClick')>
  <for (paragraph in input.content)>
    <p class="explanation-paragraph">${paragraph}</p>
  </for>
</div>

服务器端:

app.get("/explanation/:id", async function(req, res) {
  var explanation = await findExplanation(req.params.id);
  var template = require("../../views/explanation/explanation.marko");
  res.marko(template, { explanation, user: req.user });
});

也使用 marko/node-require 和 marko/express。

4

1 回答 1

2

您将需要集成一个模块捆绑器/资产管道。在示例marko-express应用程序中,我们使用Lasso(资产管道 + JavaScript 模块捆绑器)。

还有另一个集成 Webpack 的示例应用程序:https ://github.com/marko-js-samples/marko-webpack

Marko 团队同时支持 Lasso 和 Webpack,但我们推荐 Lasso,因为它更简单并且需要最少的配置。

请查看该marko-express应用程序,如果遇到困难,请随时在我们的 Gitter 聊天室提问:https ://gitter.im/marko-js/marko

于 2017-10-20T16:56:10.820 回答