【发布时间】:2019-09-24 01:40:57
【问题描述】:
因此,我正在尝试使用 react 设置 Office-js excel 加载项(使用在此处找到的 yeoman office-js 生成器 https://github.com/OfficeDev/generator-office),并且在配置加载项以使用多个路由时遇到了问题。看起来不像传统的 React 路由开箱即用(目前正在尝试使用 react-router-dom)。有人知道我会怎么做吗?特别是,看看我应该如何配置某种路由、webpack.config.js 和 manifest.xml。
例如,希望在 route=[baseUrl]/ 上加载 LandingComponent 之类的东西,在 [baseUrl]/signup 上加载类似 SignupComponent 之类的东西。
对于常规的旧 React,我正在尝试做的事情看起来像这样
const Routes = () => (
<div>
<Route path="/" exact component={LandingComponent} />
<Route path="/signup" exact component={SignupComponent} />
</div>
)
我怀疑需要修改的关键代码段可能涉及 webpack.config.js 中的某些内容(对于实际配置 webpack 来说非常新,不确定我是否需要与这个人打交道),
manifest.xml
<DefaultSettings>
<SourceLocation DefaultValue="https://localhost:3000/taskpane.html"/>
</DefaultSettings>
此外,我正在考虑从上面的 URL 中删除“.html”之类的事情(目标是插件应该默认在“https://localhost:3000/”加载登陆,并且您可以通过按钮导航到“ https://localhost:3000/signup',而插件当前默认加载'https://localhost:3000/taskpane.html')。
对不起,呕吐这个词,在这方面还是很新的,不知道什么是可能的,什么是不可能的!
【问题讨论】:
-
路由在 Office 加载项中的工作方式应该与在任何 React Web 应用程序中的工作方式相同。请提供一些有关问题所在的详细信息。
-
嗨,Rick,信不信由你,听完这个事实真的让我松了一口气,我认为这可能取决于我更好地掌握 webpack 并弄清楚这一点。只会修补一点,可能会说这不再是 office-js 问题。谢谢!欣赏!
-
@sch.根据我的经验,你不需要对 webpack 做任何事情。您必须在路由上添加 HashLocationStrategy 技术。因为它是在办公室 iframe 路由器内部加载,所以它不起作用。但是如果你添加 HashLocationStrategy 那么它会起作用。
-
reacttraining.com/react-router/web/api/HashRouter。请看一看。希望它可以节省您探索 webpack 的时间
-
@RagavanRajan 非常感谢您的提示!它肯定派上用场了!
标签: reactjs office-js react-router-dom