web-dev-qa-db-ja.com

node.jsコマンドラインスクリプトからブラウザをどのように起動しますか

可能性のある複製:
nodejsを使用してデフォルトのブラウザを開き、特定のURLに移動する方法

それが重要かどうかはわかりませんが、私はOSXを使用しています。

次のように入力して、コマンドライン自体からブラウザを起動できることを知っています。

open http://www.stackoverflow.com

しかし、nodejsコマンドラインスクリプト内からブラウザを開く方法はありますか?

47
Bob Ralian

Open が存在するので、それを使用してください。 :)

でインストール:

_$ npm install --save open
_

で使用:

_const open = require('open');

// Opens the image in the default image viewer
(async () => {
    await open('Unicorn.png', {wait: true});
    console.log('The image viewer app closed');

    // Opens the url in the default browser
    await open('https://sindresorhus.com');

    // Specify the app to open in
    await open('https://sindresorhus.com', {app: 'firefox'});

    // Specify app arguments
    await open('https://sindresorhus.com', {app: ['google chrome', '--incognito']});
})();
_

_app: ..._オプション:

_Type: string | string[]_

ターゲットを開くアプリ、またはアプリとアプリの引数を持つ配列を指定します。

アプリ名はプラットフォームに依存します。再利用可能なモジュールにハードコーディングしないでください。たとえば、Chromeはgoogle chrome、Linuxではgoogle-chrome、Windowsではchromeです。

アプリのフルパスを渡すこともできます。たとえば、WSLの場合、ChromeのWindowsインストールの場合、これは/ mnt/c/Program Files(x86)/Google/Chrome/Application/chrome.exeになります。

例:

open('http://localhost', {app: "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"});

96
ctide