使用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和你的域名不是同源,则可能需要设置crossorigin
webpack_encore中的选项。Yaml配置为匿名
或use-credentials
来克服CORS的错误。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。