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

Nuxt static目录下Netlify CMS脚本Webpack打包及MIME类型错误咨询

问题原因

你遇到的报错本质是浏览器请求的JS文件不存在,服务器返回了404页面(类型为text/html),而非MIME规则配置错误:
Nuxt默认不会对static目录下的文件做编译打包处理,你放在该目录下的cms/index.js里的import导入语法没有经过Webpack处理,浏览器直接请求对应相对路径资源时找不到文件,触发404报错。你之前添加的空Webpack规则没有将该文件纳入构建流程,所以无效。

解决步骤

1. 调整文件存放位置

将static/cms/整个目录移动到项目根目录的assets/js/路径下(没有对应目录直接新建即可),需要打包的源码不能放在static目录中。

2. 修改nuxt.config.js配置

在build.extend中添加额外入口配置,指定将cms相关代码打包后输出到目标路径:

build: {
  extend(config, { isDev, isClient }) {
    // 仅在客户端构建时生效
    if (isClient) {
      // 新增cms打包入口
      config.entry = {
        ...config.entry,
        'admin/cms': './assets/js/cms/index.js'
      }
      // 固定cms打包后的文件名,避免带hash导致引用路径失效
      config.output.filename = ({ chunk }) => {
        if (chunk.name === 'admin/cms') {
          return '[name].js'
        }
        return isDev ? '[name].js' : '[name].[contenthash:7].js'
      }
      config.output.chunkFilename = isDev ? '[name].js' : '[name].[contenthash:7].js'
    }
  }
}

3. 修改admin页面的引入路径

修改static/admin/index.html里的JS引入语句:

<script type="module" src="/admin/cms.js"></script>

4. 清理冗余文件

删除原来的static/cms/目录,避免路径冲突。修改后重启Nuxt服务即可生效,所有cms相关的依赖会自动打包到单文件中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:36:03