使用可加载组件在Now上进行部署

时间:2019-10-17 12:36:02

标签: reactjs zeit-now razzle loadable-component

我正在尝试在现在的loadable-components example with Razzle上进行部署。

我在项目的根目录中添加了以下now.json

{
  "version": 2,
  "builds": [
    {
      "src": "build/server.js",
      "use": "@now/node"
    },
    {
      "src": "build/public/**/*",
      "use": "@now/static"
    }
  ],
  "routes": [
    {
      "src": "/static/(.*)",
      "dest": "build/public/static/$1"
    },
    {
      "src": "/favicon.ico",
      "dest": "favicon.ico"
    },
    {
      "src": "/robots.txt",
      "dest": "robots.txt"
    },
    {
      "src": "/(.*)",
      "dest": "build/server.js"
    }
  ],
  "env": {
    "NODE_ENV": "production"
  }
}

现在,构建已完成,没有错误,但是在运行时,出现以下错误:

  

2019-10-17T11:39:18.319Z a082c52f-af85-4646-80ca-b946928f8b05错误:   找不到模块'/var/task/build/loadable-stats.json'       在Function.Module._resolveFilename(module.js:547:15)       在Function.Module._load(module.js:474:25)       在Module.require(module.js:596:17)       在smartRequire(/var/task/node_modules/@loadable/server/lib/util.js:24:32)       在新的ChunkExtractor(/var/task/node_modules/@loadable/server/lib/ChunkExtractor.js:173:50)       在/var/task/build/server.js:1:7600       在Layer.handle [作为handle_request](/var/task/node_modules/express/lib/router/layer.js:95:5)       在下一个(/var/task/node_modules/express/lib/router/route.js:137:13)       在Route.dispatch(/var/task/node_modules/express/lib/router/route.js:112:3)       在Layer.handle [作为handle_request](/var/task/node_modules/express/lib/router/layer.js:95:5)

有人已经遇到此错误了吗?如果可以,我该如何解决?有输入吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为您不应该手动添加 now.js。它是由 webpack 在渲染配置文件时创建的。无论是 craco.config.js 还是 webpack.config.js 或 razzle.config.js 。这只是因为您正在为可加载文件设置路径和名称并启动它。在该文件中有项目块的名称和路径。在我的情况下,我在路径中创建了一个 loadable-stats.json 并希望从另一个路径读取文件。