【问题标题】:In Nuxtjs dynamic page's css and js isn't loading on page reload在 Nuxtjs 动态页面的 css 和 js 没有在页面重新加载时加载
【发布时间】:2021-09-10 00:27:57
【问题描述】:

当我第一次在 Nuxtjs 中打开动态页面时,它工作正常,但是当我手动重新加载此页面时,所有 css 和 js 文件都停止工作并且分页符。当我从其页面源在浏览器中打开这些样式和 js 文件时,它显示“ /* style not found */ ”任何人都可以指导我为什么会发生这种情况以及它的解决方案是什么。我的应用程序的通用模式。

这是我的 nuxt.config.js 文件...脚本标签中的这些文件位于 static/assets 文件夹中:

这是我的问题:

发生这种情况是因为 pages/project/id page 的路径是静态文件夹文件的一个目录,但 pages/ViewProject 文件的直接路径...。我只是不知道如何使所有嵌套的路径相同以及直接页面。有人可以指导我吗?

【问题讨论】:

  • 你能给我们看一些代码和nuxt.config.js文件吗?
  • 脚本:[ { src:assets/plugins/custom/datatables/datatables.bundle.js,正文:真}]
  • 以上是 pages/viewProject 页面中可用但 pages/project/viewProject 中不可用的脚本。它的路径问题会发生变化,但我不知道如何设置不会为嵌套页面更改的路径。 @kissu
  • 嗯,这并没有真正帮助我,也不能代表你的错误。
  • 如果您的所有插件路径都以'@/assets/js/...' 之类的名称开头,会发生什么? @ 基本上是在说“我的项目的根”,因此以 absolute 方式(从根)而不是 relative 方式(从您当前的组件)链接它)。

标签: javascript css nuxt.js dynamic-routing


【解决方案1】:

花了很多时间在互联网上搜索解决方案后,我终于想出了一个解决方案。把它贴在这里,这样它可以帮助任何人并节省任何人的时间。因此,为了使 nuxt 不通过添加前缀来修改脚本路径,我以这种方式将脚本 src 包含在 nuxt.config.js 的头对象中:

import { join } from 'path'
export default {
  head: {
         script: [
          {
            src: join('/', `assets/plugins/global/plugins.bundle.js`),
            body: true
          }
    ]
}

现在无论是嵌套页面还是目录页面目录下的直接页面,都可以正确加载脚本。

【讨论】:

  • VueSchool 的解决方案不起作用(我链接的那个)?
猜你喜欢
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多