You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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 # 生产环境构建
      
  • 确保模板引入资源栈指令:你的布局模板(比如layouts/app.antlers.html)中必须包含对应资源加载指令,Statamic::script()是将你的JS追加到这个资源栈中,没有该指令则不会输出脚本:

    • Mix环境:{{ mix src="js/app.js" }}
    • Vite环境:{{ vite src="resources/js/app.js" }}
  • 清除各类缓存:缓存可能导致修改不生效,执行以下命令清理:

    php artisan cache:clear
    php artisan view:clear
    php artisan statamic:cache:clear
    
  • 检查静态缓存状态:如果站点开启了静态缓存,需要清空静态页面再测试:

    php artisan statamic:static:clear
    

内容的提问来源于stack exchange,提问作者MACMAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 05:20:30