0

我正在尝试在静态站点生成器 (Gatsby) 中使用 Microsoft Graph Toolkit,但在进行服务器端构建时遇到了错误。原来的错误是:

const policy = window.trustedTypes

lit-html包中。我可以onCreateWebpackConfig在 gatsby-node.js 中使用它来删除它。如果我这样做了,就会得到下一个错误,在lit-element. 最终,我microsoft使用以下 gatsby-node.js 进行了删除:

exports.onCreateWebpackConfig = ({ stage, loaders, actions }) => {
    if (stage === "build-html") {
      actions.setWebpackConfig({
        module: {
          rules: [
            {
                test: /lit-html/,
                use: loaders.null(),
            },
            {
                test: /lit-element/,
                use: loaders.null(),
            },
            {
                test: /microsoft/,
                use: loaders.null(),
            },
          ],
        },
      })
    }
  }

不幸的是,现在我只是坚持:

failed Building static HTML for pages - 3.769s
error Building static HTML failed for path "/404/"


  Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= for the full message or use the non-minified dev environment for full errors and 
  additional helpful warnings.

  - react-dom-server.node.production.min.js:48 a.b.render
    [ComplianceForms-Web]/[react-dom]/cjs/react-dom-server.node.production.min.js:48:37

顺便说一句,我没有使用React.lazyor suspense

我正在使用https://github.com/mik3y/gatsby-starter-basic-bootstra ,并且在https://github.com/HiltonGiesenow/gatsby-mgt-test有一个最小的复制。为了完整起见,我使用更简单的 Starter 进行了测试,结果相同。

4

1 回答 1

0

我认为您根据Microsoft 依赖项安装null将加载程序添加到包中。所以:@microsoft/mgt-react

exports.onCreateWebpackConfig = ({ stage, loaders, actions }) => {
    if (stage === "build-html") {
      actions.setWebpackConfig({
        module: {
          rules: [
            {
                test: /@microsoft\/mgt-react/,
                use: loaders.null(),
            },
          ],
        },
      })
    }
  }

请注意,测试规则是一个正则表达式,因此该值必须与 中的文件夹名称匹配node_modules,这就是您应该转义 中的斜杠的原因/mgt-react

于 2020-11-26T13:28:34.843 回答