使用CDN

编辑本页

使用CDN

您是否部署到CDN?一旦你确定你的构建文件上传到CDN,在Encore中配置它:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// webpack.config.js //…Encore .setOutputPath('public/build/') //在开发模式下,不要使用CDN .setPublicPath('/build');/ /……;+ if (Encore.isProduction()) {+ Encore.setPublicPath(“https://my-cool-app.com.global.prod.fastly.net”);++ //保证键在manifest。Json是*still*+ //以build/为前缀+ //(例如:“构建/ dashboard.js”:“https://my-cool-app.com.global.prod.fastly.net/dashboard.js”)+ Encore.setManifestKeyPrefix(“构建/”);+}

就是这样!在内部,Webpack现在将知道从你的CDN加载资产。https://my-cool-app.com.global.prod.fastly.net/dashboard.js

请注意

把你的资产放到CDN上仍然是你的责任——例如,通过上传它们或使用“源拉”,你的CDN直接从你的web服务器上拉资产。

需要确保脚本而且链接你的网页上包含的标签也使用CDN。幸运的是,entrypoints.json路径被更新为包含到CDN的完整URL。

当部署到CDN的子目录时,您必须在URL的末尾添加路径。Encore.setPublicPath(“https://my-cool-app.com.global.prod.fastly.net/awesome-website”)将生成资产url像https://my-cool-app.com.global.prod.fastly.net/awesome-website/dashboard.js

如果你正在使用Encore.enableIntegrityHashes ()你的CDN和你的域名不是同源,则可能需要设置crossoriginwebpack_encore中的选项。Yaml配置为匿名use-credentials来克服CORS的错误。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
ob娱乐下载Symfony 5.4支持通过私人Packagist