我能找到的只是需要安装一个npm包的解决方案,该包将启动一个http服务器来托管文件。然而,我唯一的要求是通过npm脚本将一个非常简单的生成的html文件从本地计算机打开到浏览器中,不需要服务器,这在没有包的情况下可行吗?
我试过丹尼尔的答案,但对我不起作用。
根据他的回答,我找到了open-cli
包。
npm i -D open-cli
并在package.json脚本对象中使用它(open-cli
(,如so
{
"name": "somename",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"open-my-html": "open-cli path/to/your/index.html",
"test": "echo "Error: no test specified" && exit 1"
},
"devDependencies: {
"open-cli": "^6.0.1"
},
"author": "",
"license": "ISC"
}
然后运行
npm run open-my-html
现在,它可以在默认浏览器上打开html文件。
发现我可以创建一个包含内容的bash脚本
#!/bin/bash
start chrome "$(realpath "./jest/report.html")"
然后使用运行
"test": "jest && bash ./open-browser.sh"
假设您的节点脚本和index.html位于同一文件夹中
const open = require('open');
(async () => {
await open('index.html', {"wait": true });
})();
看看这个包裹:https://www.npmjs.com/package/open
最简单的方法是安装open
包
npm i open --save-dev
并在package.json脚本对象中使用它,就像一样
{
"name": "somename",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"open-my-html": "open path/to/your/index.html",
"test": "echo "Error: no test specified" && exit 1"
},
"devDependencies: {
"open": "^7.3.0"
},
"author": "",
"license": "ISC"
}
然后运行
npm run open-my-html
{ "start": "start http://localhost:8000 & npm run dev", }
只需使用上面的脚本,这对我来说很有效。首先它会在浏览器中打开url,然后启动服务器。问题是第一个url会抛出错误,然后在运行服务器页面后会自动重新加载。
如果你不需要使用任何外部包,这会更好。