使用webpack-dev-server和HMR
编辑本页使用webpack-dev-server和HMR
在开发时,而不是使用时纱线返场开发——看
,你可以使用webpack-dev-server:
1 2 3 4 5
#如果你使用Yarn包管理器$Yarn encore dev-server#如果你使用NPM包管理器$运行dev-server
这将从一个新的服务器构建和服务前端资产。这个服务器运行在localhost: 8080
默认情况下,这意味着您的构建资产在localhost: 8080 /构建
.该服务器并不实际将文件写入磁盘;相反,它从内存中提供服务,允许热模块重新加载。
结果,链接
而且脚本
标记需要指向新服务器。如果你在用encore_entry_script_tags ()
而且encore_entry_link_tags ()
树枝捷径(或通过entrypoints.json处理资产以其他方式),您就完成了:模板中的路径将自动指向开发服务器。
dev-server选项
的dev-server
命令支持定义的所有选项webpack-dev-server.你可以通过命令行选项设置这些选项:
1 2 3 4 5
#如果你使用Yarn包管理器$Yarn encore -server—port 9000#如果你使用NPM包管理器$NPM运行dev-server -- --port 9000
属性设置这些选项Encore.configureDevServerOptions ()
方法。webpack.config.js
文件:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / webpack.config.js/ /……再来一个/ /…….configureDevServerOptions (选项= >{选项。服务器= {类型:“https”,选项: {关键:“/道路/ / server.key”,cert:“/道路/ / server.crt”,}}});
使用Symfony Web Server启用HTTob娱乐下载PS
如果你在用ob娱乐下载Symfony web服务器在本地使用HTTPS时,您还需要告诉dev-server使用HTTPS。要做到这一点,您可以重用Symfony web服务器SSL证ob娱乐下载书:
12 3 4 5 6 7 8 9 10 11 12 13 14 15
// webpack.config.js //…+ const path = require('path');Encore //…+ .configureDevServerOptions(options => {+选项。服务器= {+类型:'https',+选项:{+ pfx: path.join(process.env。家,“.symfob娱乐下载ony5 /证书/ default.p12”),+}+}+})
歌珥问题
如果您遇到与CORS(跨源资源共享)相关的问题,请设置以下选项:
1 2 3 4 5 6 7 8 9 10 11
/ / webpack.config.js/ /……再来一个/ /…….configureDevServerOptions (选项= >{选项。allowedHosts =“所有”;//在旧的Webpack Dev Server版本中,使用此选项:/ /选项。防火墙= false;})
请注意,这通常不是推荐的安全实践,但在这里需要解决CORS问题。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。