Node.js 如何部署文件夹结构不同于默认文件夹结构的React项目;创建react应用程序“;?

Node.js 如何部署文件夹结构不同于默认文件夹结构的React项目;创建react应用程序“;?,node.js,reactjs,npm,deployment,Node.js,Reactjs,Npm,Deployment,使用“create react app”创建一个新项目会提供这种文件夹结构: ├── README.md ├── node_modules ├── package.json ├── .gitignore ├── build ├── public │ ├── favicon.ico │ ├── index.html │ └── manifest.json └── src ├── App.css ├── App.js ├── App.test.js ├──

使用“create react app”创建一个新项目会提供这种文件夹结构:

├── README.md
├── node_modules
├── package.json
├── .gitignore
├── build
├── public
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
└── src
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    └── serviceWorker.js
然而,我有一个项目不使用“public”和“src”,而是使用“client”和“server”。此外,它没有index.js等。当我执行“npm run dev”时,所有东西都可以在本地主机上正常工作:3000。但是,我不能进行“npm运行构建”。我得到的错误是:

Could not find a required file.
  Name: index.html
  Searched in: /HOMEFOLDER/PROJECT/public
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! PROJECTNAME@1.0.0 build: `react-scripts build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the PROJECTNAME@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
错误日志为:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'build' ]
2 info using npm@6.12.0
3 info using node@v12.13.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle PROJECTNAME@1.0.0~prebuild: PROJECTNAME@1.0.0
6 info lifecycle PROJECTNAME@1.0.0~build: PROJECTNAME@1.0.0
7 verbose lifecycle PROJECTNAME@1.0.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle PROJECTNAME@1.0.0~build: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/HOME/PROJECTFOLDER/node_modules/.bin:/home/username/.nix-profile/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
9 verbose lifecycle PROJECTNAME@1.0.0~build: CWD: /HOME/PROJECTFOLDER
10 silly lifecycle PROJECTNAME@1.0.0~build: Args: [ '-c', 'react-scripts build' ]
11 silly lifecycle PROJECTNAME@1.0.0~build: Returned: code: 1  signal: null
12 info lifecycle PROJECTNAME@1.0.0~build: Failed to exec build script
13 verbose stack Error: PROJECTNAME@1.0.0 build: `react-scripts build`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:210:5)
13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:210:5)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
14 verbose pkgid PROJECTNAME@1.0.0
15 verbose cwd /HOME/PROJECTFOLDER
16 verbose Linux 5.0.0-36-generic
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "build"
18 verbose node v12.13.0
19 verbose npm  v6.12.0
20 error code ELIFECYCLE
21 error errno 1
22 error PROJECTNAME@1.0.0 build: `react-scripts build`
22 error Exit status 1
23 error Failed at the PROJECTNAME@1.0.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
0信息如果它以ok结尾,它就工作了
1详细cli['/usr/bin/node','/usr/bin/npm','run','build']
2信息使用npm@6.12.0
3信息使用node@v12.13.0
4详细运行脚本['prebuild'、'build'、'postbuild']
5信息生命周期PROJECTNAME@1.0.0~prebuild:PROJECTNAME@1.0.0
6信息生命周期PROJECTNAME@1.0.0~build:PROJECTNAME@1.0.0
7详细的生命周期PROJECTNAME@1.0.0~build:生命周期中的不安全烫发为true
8详细的生命周期PROJECTNAME@1.0.0~build:PATH:/usr/lib/node\u modules/npm/node\u modules/npm生命周期/node gyp bin:/HOME/PROJECTFOLDER/node\u modules/.bin:/HOME/username/.nix profile/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/usr/games:/usr/local/games:/snap/bin
9详细的生命周期PROJECTNAME@1.0.0~build:CWD:/HOME/PROJECTFOLDER
10愚蠢的生命周期PROJECTNAME@1.0.0~build:Args:['-c','react scripts build']
11愚蠢的生命周期PROJECTNAME@1.0.0~build:返回:代码:1信号:null
12信息生命周期PROJECTNAME@1.0.0~build:无法执行生成脚本
13详细堆栈错误:PROJECTNAME@1.0.0build:`react脚本build`
13详细堆栈退出状态1
13 EventEmitter上的详细堆栈。(/usr/lib/node_modules/npm/node_modules/npm lifecycle/index.js:332:16)
13 EventEmitter.emit上的详细堆栈(events.js:210:5)
13子进程上的详细堆栈。(/usr/lib/node_modules/npm/node_modules/npm lifecycle/lib/spawn.js:55:14)
13 ChildProcess.emit上的详细堆栈(events.js:210:5)
13 maybeClose的详细堆栈(internal/child_process.js:1021:16)
13 Process.ChildProcess.\u handle.onexit处的详细堆栈(internal/child\u Process.js:283:5)
14详细的pkgidPROJECTNAME@1.0.0
15详细cwd/HOME/PROJECTFOLDER
16详细Linux 5.0.0-36-generic
17详细argv“/usr/bin/node”“/usr/bin/npm”“运行”“生成”
18详细节点v12.13.0
19详细的npm v6.12.0
20错误代码ELIFECYCLE
21错误1
22错误PROJECTNAME@1.0.0build:`react脚本build`
22错误退出状态1
23发生错误时失败PROJECTNAME@1.0.0构建脚本。
23错误这可能不是npm的问题。上面可能还有其他日志输出。
24详细退出[1,true]
我尝试过调整文件夹,但是它会变得一团糟,不可能及时解开


PS问题在标题中。

我相信这会对您有所帮助:我已尝试弹出,但仍然无法找出需要更改/调整的所有内容。错误是因为它自身未在公用目录中看到index.html。看来你没有更改网页包配置中的所有目录。我已经设法让它工作了,很快就会更新。答案是弹出,但是,我不得不手动移动一些文件。这是脖子痛,但它的工作。