Приложение node.js работает локально, но не работает по модулю
Сначала я сделал пост на самом модульном сайте, однако, я думаю, что сообщество не очень активно, так что вот что оно содержало: приложение, когда я пытаюсь загрузить его, но URL-адрес скажет любой из них в документ:
Не найдено или невозможно собрать в какие-либо экземпляры приложения.
В журнале сказано это, а я не очень понимаю.
_http_outgoing.js:335
throw new Error('Can\'t set headers after they are sent.');
^
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:335:11)
at Array.write (/mnt/app/node_modules/express/node_modules/finalhandler/index.js:115:9)
at listener (/mnt/app/node_modules/express/node_modules/on-finished/index.js:164:15)
at onFinish (/mnt/app/node_modules/express/node_modules/on-finished/index.js:95:5)
at callback (/mnt/app/node_modules/express/node_modules/on-finished/node_modules/ee-first/index.js:33:10)
at IncomingMessage.onevent (/mnt/app/node_modules/express/node_modules/on-finished/node_modules/ee-first/index.js:66:5)
at IncomingMessage.emit (events.js:104:17)
at _stream_readable.js:908:16
at process._tickCallback (node.js:355:11)
npm ERR! Linux 3.13.0-46-generic
npm ERR! argv "/mnt/home/.nvm/versions/node/v0.12.4/bin/node" "/mnt/home/.nvm/versions/node/v0.12.4/bin/npm" "start"
npm ERR! node v0.12.4
npm ERR! npm v2.10.1
npm ERR! code ELIFECYCLE
npm ERR! socket-Test@1.0.0 start: `node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the socket-Test@1.0.0 start script 'node server.js'.
npm ERR! This is most likely a problem with the socket-Test package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node server.js
npm ERR! You can get their info via:
npm ERR! npm owner ls socket-Test
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /mnt/app/npm-debug.log
Found package.json: ./package.json
Start script specified in package.json: node server.js
Initializing Node.js 0.12.4
Now using node v0.12.4
Running command: npm start
> socket-Test@1.0.0 start /mnt/app
> node server.js
listening on *:3000
Раньше все это работало в отдельном проекте, сделанном таким же образом, и теперь не будет работать. Любые советы или решения будут оценены!
(Кстати, я не уверен, что это нормально, но я заметил, что папки node_modules нет в моем списке файлов, я не уверен, почему, потому что она находится в моей локальной папке)
Тем не менее, теперь я попал туда, где в журнале будет сказано:
Found package.json: ./package.json
Start script specified in package.json: node server.js
Initializing Node.js 0.12.4
Now using node v0.12.4
Running command: npm start> Space-Wars@1.0.0 start /mnt/app>
node server.js
listening on *:3000
Fri, 29 May 2015 07:07:06 GMT
express deprecated res.sendfile: Use res.sendFile instead at server.js:9:6
Error: ENOENT, stat '/mnt/app/index.html'at Error (native)
Error: ENOENT, stat '/mnt/app/index.html'at Error (native)
Я знаю, что он ищет файл в /mnt/app, но я не знаю почему, он находит все в общедоступном каталоге, когда он запускается локально.
Мое дерево файлов выглядит так:
Public -[
- index.css
- index.js
- index.html
Server.js
node_modules (not included in server, I guess modulus installs based on package.json dependencies)
package.json
Я связываю общую папку с этим
app.use(express.static(path.join(__dirname, 'public')));
Может кто-нибудь помочь мне решить эту проблему или хотя бы найти проблему. Спасибо!!
1 ответ
Я решил проблему, в экспрессе я связал ее с "public" в нижнем регистре, и поэтому я изменил имя своей папки на public вместо Public. Однако я все еще немного сбит с толку, если модуль использует ту же версию модулей node.js, почему он не будет работать на сервере модуля.