我正在运行这个项目https://github.com/postlight/headless-wp-starter。我已经能够使一切正常进行。后端工作正常,但是前端有一个错误。
在说明中说要运行yarn start
以启动前端服务器,应该为next.js
。现在,从技术上讲它可以正常运行,并且可以继续运行localhost:3000
。但是,当我在中修改scss
文件时frontend/src/styles
,它不会在外壳中重新渲染,并且浏览器中也不会进行热重载,即使单击刷新也不会显示样式更改。但是,如果我停止使用yarn,ctrl + c
然后再次运行它,并且yarn start
我的样式显示在浏览器刷新中。
我正在Windows下的docker下运行所有内容,所以不知道这是一个限制还是可能的错误。我已经在他们的github上发布了一个问题,但是认为在这里检查也没有什么坏处。
我能想到的唯一的代码就是package.json
这样。提前谢谢。
{
"name": "frontend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "next build",
"start": "node server.js",
"docker:build": "docker build -t frontend .",
"docker:clean": "docker rm -f frontend || true",
"docker:run": "docker run -p 3000:3000 --name frontend frontend",
"docker:stop": "docker stop frontend",
"docker:start": "docker start frontend && yarn run docker:logs",
"docker:logs": "docker logs -f frontend",
"deploy":
"yarn run docker:build && yarn run docker:clean && yarn run docker:run"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.16.2",
"isomorphic-unfetch": "^2.0.0",
"next": "latest",
"react": "^16.0.0"
},
"devDependencies": {
"autoprefixer": "7.1.5",
"babel-plugin-module-resolver": "^2.7.1",
"babel-plugin-wrap-in-js": "^1.1.0",
"glob": "^7.1.2",
"node-sass": "^4.4.0",
"normalize.css": "^7.0.0",
"postcss-easy-import": "^3.0.0",
"postcss-loader": "^2.0.7",
"raw-loader": "^0.5.1",
"react-dom": "^16.2.0",
"sass-loader": "^6.0.6",
"webpack": "^3.10.0"
}
}
更新:由于似乎热重装是Windows的问题,所以我的主要问题是,是否有一种方法可以运行不热重装的任务,而我只能自行刷新浏览器,否则无法开发在Windows上不停止并重新启动服务的每一次更改,这是不可能做的。
涉及两件事-Web服务器何时反映来自更新后的CSS的更改(以便浏览器可以使用),其二是浏览器重新加载页面。
启动Web服务器,但可能没有任何内容告诉Web服务器重新加载修改的文件。这可能就是为什么您需要重新发出“ yarn start”命令的原因。
我看到了有关热装的问题-查看此链接
如何将实时重载添加到我的Node.js服务器