如何在Statamic应用中引入新JavaScript文件?按文档操作未生效
解决Statamic自定义JS文件未加载的问题
确认文件存放路径:
newfile.js必须放在项目的resources/js目录下;如果文件在子目录中(比如resources/js/tools/newfile.js),则调用代码要对应修改为Statamic::script('App', 'tools/newfile.js');编译前端资源:Statamic依赖Laravel Mix或Vite(依版本而定)打包资源,必须执行编译命令:
- 使用Mix时:
npm run dev # 开发环境 npm run production # 生产环境 - 使用Vite(Statamic 3.3及以上版本默认)时:
npm run dev # 开发环境热更新 npm run build # 生产环境构建
- 使用Mix时:
确保模板引入资源栈指令:你的布局模板(比如
layouts/app.antlers.html)中必须包含对应资源加载指令,Statamic::script()是将你的JS追加到这个资源栈中,没有该指令则不会输出脚本:- Mix环境:
{{ mix src="js/app.js" }} - Vite环境:
{{ vite src="resources/js/app.js" }}
- Mix环境:
清除各类缓存:缓存可能导致修改不生效,执行以下命令清理:
php artisan cache:clear php artisan view:clear php artisan statamic:cache:clear检查静态缓存状态:如果站点开启了静态缓存,需要清空静态页面再测试:
php artisan statamic:static:clear
内容的提问来源于stack exchange,提问作者MACMAN
相关产品推荐
相关产品推荐

