gruntjs — Почему маршрутизатор grunt-php игнорирует мой базовый путь?

У нас есть один Gruntfile.js, который выглядит так на моей коллеге.

php: {
dist: {
options: {
port: 8888,
useAvailablePort: true,
keepalive: true,
router: '_router.php',
base: 'src' //dev mode
}
}
},

…и он отлично работает на своей машине, но не моя. _router.php находится в каталоге верхнего уровня. Бег grunt dev не приводит к ошибкам в моей консоли во время развертывания dev.

PHP 5.5.27 Development Server started at Wed Sep 23 17:31:54 2015
Listening on http://127.0.0.1:8888
Document root is /Users/toszter/Engineering/moo/sources/local/web/src
Press Ctrl-C to quit.
[Wed Sep 23 17:39:33 2015] 127.0.0.1:53910 Invalid request (Unexpected EOF)

Тем не менее, я вижу в своем браузере на localhost: 8888 …

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required '_router.php' (include_path='.:') in Unknown on line 0

Изменение router свойство в коде выше, чтобы router: 'src/_router.php' решает проблему на моей машине, но ломает всех остальных.

Так что это требует небольшого объяснения: зачем мне нужно явно указывать базовый каталог в моем router собственность и никто другой в моей команде?

2

Решение

Возможно потому что path.resolve не предоставляет абсолютные пути к php-скрипту, порожденному в задаче, используя простые опции и options.base присоединиться к истинному пути к маршрутизатору.

Пока задача ожидает полного пути к router внутри spawn, он получает только относительный путь от options.router внутри php.js, которого рвет радуга, единорог сверкает повсюду.

оригинальный вопрос здесь. Это было в конце концов исправлено здесь, и все еще эта проблема сохранилась, так что теперь здесь исправлено но еще не слились с grunt-php мастер.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]