Я занимаюсь разработкой веб-приложения (в течение нескольких месяцев), которое основано на CRA .Все работало так, как задумано, до сегодняшнего утра, когда я понял, что стартовый скрипт npm (или yarn) больше не использует существующую вкладку, открытую в Chrome.Вместо этого он открывает новую вкладку на локальном хосте: 3000, даже если на локальном хосте есть 3000 вкладок.Я изучал это в течение нескольких часов, но мне еще предстоит найти решение.Я добавил оператор log в сценарий CRA (в моих модулях узла), который обрабатывает повторное использование существующих вкладок при запуске приложения.
function startBrowserProcess(browser, url) {
// If we're on OS X, the user hasn't specifically
// requested a different browser, we can try opening
// Chrome with AppleScript. This lets us reuse an
// existing tab when possible instead of creating a new one.
const shouldTryOpenChromeWithAppleScript =
process.platform === 'darwin' &&
(typeof browser !== 'string' || browser === OSX_CHROME);
if (shouldTryOpenChromeWithAppleScript) {
try {
// Try our best to reuse existing tab
// on OS X Google Chrome with AppleScript
execSync('ps cax | grep "Google Chrome"');
execSync('osascript openChrome.applescript "' + encodeURI(url) + '"', {
cwd: __dirname,
stdio: 'ignore',
});
return true;
} catch (err) {
console.log(err);
// Ignore errors.
}
}
Это вывод оператора журнала:
{ Error: Command failed: osascript openChrome.applescript "http://localhost:3000/"
at checkExecSyncError (child_process.js:621:11)
at execSync (child_process.js:658:13)
at startBrowserProcess (/Users/***/Desktop/WorkSpace/React/***/node_modules/react-dev-utils/openBrowser.js:78:7)
at openBrowser (/Users/***/Desktop/WorkSpace/React/***/node_modules/react-dev-utils/openBrowser.js:122:14)
at Server.devServer.listen.err (/Users/***/Desktop/WorkSpace/React/***/node_modules/react-scripts/scripts/start.js:100:7)
at Server.returnValue.listeningApp.listen (/Users/***/Desktop/WorkSpace/React/***/node_modules/webpack-dev-server/lib/Server.js:604:10)
at Object.onceWrapper (events.js:273:13)
at Server.emit (events.js:182:13)
at emitListeningNT (net.js:1328:10)
at process.internalTickCallback (internal/process/next_tick.js:72:19)
status: 1,
signal: null,
output: [ null, null, null ],
pid: 2691,
stdout: null,
stderr: null }
Кажется, есть проблема с запуском команды Applescript, которая обрабатывает это, но я не уверен, почему.Один из других разработчиков, который работает над тем же приложением локально, не имеет этой проблемы.Одним из изменений, которые я сделал недавно, было обновление до новой MacOS Mojave.Но другой разработчик только что обновился и не имеет этой проблемы.
Кто-нибудь знает, что может быть не так?