首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor-React-ssr -当我安装了'static-html‘时,询问’模板‘包

Meteor-React-ssr -当我安装了'static-html‘时,询问’模板‘包
EN

Stack Overflow用户
提问于 2018-09-14 16:00:22
回答 1查看 144关注 0票数 0

我正在尝试实现meteor-react服务器端渲染。我删除了templating包并添加了static-html包,就像在meteor中为ui使用react一样。

现在的问题是,当我使用任何服务器端渲染实现运行应用程序时,它工作得很好。这意味着如果我查看页面源代码,我会看到呈现目标div的基本标记。但是当我实现服务器渲染代码时,它会给出这个错误

代码语言:javascript
复制
```javascript

错误:找不到包“模板”。试试"meteor add templating“。

在makeInstallerOptions.fallback (包/模块-运行时.js:597:13)

在Module.require (包/模块-运行时.js:230:14)

at require (包/模块-runtime.js:244:21)

在AccountsUIWrapper.js (imports/ui/AccountsUIWrapper.js:1:250)

在fileEvaluate (包/模块-运行时.js:322:7)

在Module.require (包/模块-运行时.js:224:14)

at require (包/模块-runtime.js:244:21)

在App.js (imports/ui/App.js:1:386)

在fileEvaluate (包/模块-运行时.js:322:7)

在Module.require (包/模块-运行时.js:224:14)

at require (包/模块-runtime.js:244:21)

在routes.js (导入/启动/routes.js:1:87)

在fileEvaluate (包/模块-运行时.js:322:7)

在Module.require (包/模块-运行时.js:224:14)

at require (包/模块-runtime.js:244:21)

在main.js (服务器/Main.js:1:558)

在fileEvaluate (包/模块-运行时.js:322:7)

在Module.require (包/模块-运行时.js:224:14)

at require (包/模块-runtime.js:244:21)

在/Users/kenshinman/Desktop/projects/simple-todos/.meteor/local/build/programs/server/app/app.js:463:15

在/Users/kenshinman/Desktop/projects/simple-todos/.meteor/local/build/programs/server/boot.js:411:36

在Array.forEach ()

代码语言:javascript
复制
=> Exited with code: 1 => Your application is crashing. Waiting for file change.

这是我的server/main.js code

代码语言:javascript
复制
import { Tasks } from "../imports/api/tasks";
import React from "react";
import { Meteor } from "meteor/meteor";
import { onPageLoad } from "meteor/server-render";
import { StaticRouter, Switch } from "react-router-dom";
import { renderToString } from "react-dom/server";
import Routes from "../imports/startup/routes";

const siteName = "Todos";
const defaultImage = "https://loremflickr.com/320/240/baby";
const defaultMetaTags = `
<title>${siteName}</title>
<meta property="og:title"       content="${siteName}" />
<meta property="og:description" content="All your todos synced wherever you happen to be" />
<meta property="og:image"       content="${defaultImage}" />
`;

function createMetaTag(property, content) {
  return `<meta property="${property}" content="${content}">`;
}

onPageLoad(sink => {
  const { pathname } = sink.request.url;
  const meteorHost = Meteor.absoluteUrl();

  const App = props => {
    console.log(props);
    return (
      <StaticRouter location={props.location} context={{}}>
        <Switch>
          <Routes />
        </Switch>
      </StaticRouter>
    );
  };

  const content = renderToString(<App location={sink.request.url} />);

  sink.renderIntoElementById("render-target", content);

  const taskId = "asdlkjhfsda";
  const task = taskId ? Tasks.findOne({ _id: "listId" }) : null;
  // task count

  if (task) {
    const title = "task.text";
    const description = `This list contains 8 incomplete tasks`;
    const fullUrl = meteorHost + pathname.replace(/^\/+/g, "");
    sink.appendToHead(createMetaTag("og:title", title));
    sink.appendToHead(createMetaTag("og:description", description));
    sink.appendToHead(createMetaTag("og:url", fullUrl));
    sink.appendToHead(createMetaTag("og:image", defaultImage));
    sink.appendToHead(createMetaTag("og:site_name", siteName));
  } else {
    sink.appendToHead(defaultMetaTags);
    sink.appendToHead(createMetaTag("og:url", meteorHost));
  }
});

但是,当我注释import Routes from "../imports/startup/routes";行和路由的所有外观时,一切都又正常了。

以下是路径文件代码

代码语言:javascript
复制
import React from "react";
import App from "../ui/App";

import { Switch, Route } from "react-router-dom";

const Routes = () => (
 <div>
   <Route exact path="/" component={App} />
  <Route exact path="/test" render={() => <h2>This is the test page</h2>} />
 </div>
);

export default Routes;

我怎样才能让它正常工作,并停止得到这个错误呢?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-09-14 19:10:42

解决了。忘记我在我的帐户ui配置模板中从meteor/templating导入了Template。它现在起作用了。

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

https://stackoverflow.com/questions/52327478

复制
相关文章

相似问题

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