我遇到使用npm脚本任务启动browsersync
服务器的问题,该服务器在文件更新后刷新...
在serve
的{{1}}属性中定义了名为scripts
的任务,如下所示:
package.json
我的目录结构如下:
{
...
"scripts": {
"serve": "browser-sync start --server \"dev\" --files \"./dev/css/*.css, ./dev/js/*.js, ./dev/*.html\" --browser \"Google Chrome\""
},
"devDependencies": {
"browser-sync": "^2.17.0"
}
}
当我project
│
├── package.json
│
├─── dev
│ │
│ ├───index.html
│ │
│ ├─── css
│ │ │
│ │ └───style.css
│ │
│ └─── js
│ │
│ └───main.js
│
└─── node_modules
│
├───browser-sync
│
├───browser-sync-client
│
├───browser-sync-ui
│
└─── ...
到cd
目录并输入project
npm run serve
服务器正确启动时,通过Chrome中的browsersync
打开index.html
浏览器。
如果我然后编辑http://localhost:3000/
,index.html
或style.css
并保存更改main.js
,请勿自动刷新以反映浏览器中的这些更改。
有趣的是,在我通过CLI直接通过CLI运行相同的命令(即与browsersync
中指定的相同而不转义双引号)之后:
package.json
...浏览器正确打开$ browser-sync start --server "dev" --files "./dev/css/*.css, ./dev/js/*.js, ./dev/*.html" --browser "Google Chrome"
,编辑后保存对index.html
,index.html
或style.css
main.js
的更改,目前正在刷新浏览器
我已在全局和本地安装的browsersync
版本(即在项目文件夹中)是相同的版本(2.17.0)。
我在browsersync
的脚本部分做错了吗?
答案 0 :(得分:0)
我今天遇到了同样的问题,我想设置一个简单的文件进行测试。
它对我有用的方法是删除转义字符并直接添加路径:
示例:
.....
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "browser-sync start --server --files ./**/*",
}
.....
我正在为当前文件夹中的所有文件提供服务
Here I am aware of how npm uses the paths inside the commands