nodejs를 사용하여 기본 브라우저를 열고 특정 URL로 이동하는 방법
Node.js를 이용하여 어플리케이션을 작성하고 있습니다.
제가 만들고 싶은 기능 중 하나는 기본 웹 브라우저를 열고 특정 URL로 이동하는 것입니다.
윈도우/맥/리눅스에서 실행할 수 있도록 휴대용으로 했으면 합니다.
open 사용(이전 이름:opn
교차 플랫폼 문제를 처리할 것이기 때문입니다.설치 방법:
$ npm install open
사용 방법:
const open = require('open');
// opens the url in the default browser
open('http://sindresorhus.com');
// specify the app to open in
open('http://sindresorhus.com', {app: 'firefox'});
var url = 'http://localhost';
var start = (process.platform == 'darwin'? 'open': process.platform == 'win32'? 'start': 'xdg-open');
require('child_process').exec(start + ' ' + url);
node-open은 더 이상 사용되지 않습니다.이제 열기로 사용:
const open = require('open')
await open('http://sindresorhus.com') // Opens the url in the default browser
await open('http://sindresorhus.com', {app: 'firefox'}) // Specify the app to open in
설치:
$ npm install open
용도:
const open = require('open');
(async () => {
// Opens the image in the default image viewer and waits for the opened app to quit.
await open('unicorn.png', {wait: true});
console.log('The image viewer app quit');
// Opens the URL in the default browser.
await open('https://sindresorhus.com');
// Opens the URL in a specified browser.
await open('https://sindresorhus.com', {app: 'firefox'});
// Specify app arguments.
await open('https://sindresorhus.com', {app: ['google chrome', '--incognito']});
})();
... 값을 사용하여 스위치를 구현해야 할 수도 있습니다.
require('os').type()
그다음에 사용.spawn("open")
아니면spawn("xdg-open")
플랫폼에 따라?
윈도우 + 익스프레스
app.listen(3000, ()=>{
require('child_process').exec('start http://localhost:3000/');
});
가장 쉽고 깔끔한 방법은 openurl이라는 npm 패키지를 사용하는 IMHO입니다.하라.npm install openurl
. Nodejs REPL에서 이것을 정말 빠르게 시도할 수 있습니다.
require("openurl").open("http://stackoverflow.com/questions/8500326/how-to-use-nodejs-to-open-default-browser-and-navigate-to-a-specific-url")
필요한 경우 이메일을 함께 보낼 수도 있습니다.require("openurl").open("mailto:janedoe@example.com")
#!/usr/bin/env node
const url = 'http://localhost'
require('child_process')
.exec((process.platform
.replace('darwin','')
.replace(/win32|linux/,'xdg-') + 'open ' + url));
간단히 사용
require('child_process').exec('start https://www.google.co.in/');
나한테 효과가 있어요.
var url = '\\index.html';
var start = (process.platform == 'darwin'? 'open': process.platform == 'win32'? 'start': 'xdg-open');
require('child_process').exec(start + ' ' + __dirname + url);
렉사-B의 답변이 가장 잘 맞았지만 "Windows에서 인덱스를 찾을 수 없습니다.html" 오류가 발생했습니다.제가 작성하고 있던 npm 패키지 내의 로컬 웹 페이지를 열기 위해 lexa-b code child_process exec 명령을 사용하고 있었습니다.npx 명령으로 패키지 bin.js에서 html 파일을 실행 / 열 때 npm 패키지에서 html 파일을 열어야 했습니다.
필요한 것은 파일 경로에 __dirname을 추가하여 child_process를 호출하는 파일에 대한 상대 디렉토리 경로가 정확한지 확인하는 것이었습니다.npx 임시 파일 위치에서 멀리 떨어진 홈 폴더에서 child_process가 실행되고 있습니다.__syname은 해당 문제를 해결하고 둘을 연결하여 누락된 파일 오류를 해결합니다.
언급URL : https://stackoverflow.com/questions/8500326/how-to-use-nodejs-to-open-default-browser-and-navigate-to-a-specific-url
'programing' 카테고리의 다른 글
다른 열에 그룹화된 평균값을 계산하는 방법 (0) | 2023.09.10 |
---|---|
요소가 뷰포트에 보이는지 쿼리 확인 (0) | 2023.09.10 |
MySQL 테이블을 CSV 파일로 내보내기 (0) | 2023.09.05 |
VBA에서 HTML 전자 메일 본문 글꼴 유형 및 크기 변경 (0) | 2023.09.05 |
Spring Session Attributes 테이블 이름은 대소문자를 구분합니다. (0) | 2023.09.05 |