phper2000 2023-05-17 14:53 采纳率: 100%
浏览 22
已结题

nuxt中如何引用assets中的javascript文件?

请问nuxt中如何引用assets中的javascript文件?全局的或页面引用,配合CDN的设置publicPath打包编译。

我试了几个方式都不行:

head: {
    script: [
      { src: '~/assets/js/hello.js', ssr: false, body: true }
    ]
  }
head: {
    script: [
      { src: '~assets/js/hello.js', ssr: false, body: true }
    ]
  }
head: {
    script: [
      { src: require('~/assets/js/hello.js'), ssr: false, body: true }
    ]
  }
  • 写回答

2条回答 默认 最新

  • 技术宅program 2023-05-17 15:43
    关注

    在 Nuxt.js 中,可以通过以下方式引用 assets 目录中的 Javascript 文件:

    1. plugins/ 目录
      将 Javascript 文件放在 plugins/ 目录下,Nuxt.js 会自动引入。
      例如有 plugins/test.js 文件,则可以在页面中通过:
    js
    import test from '~/plugins/test'
    
    

    来引用。
    2. nuxt.config.js
    在 nuxt.config.js 中的 plugins 数组配置引入文件。
    例如:

    js
    module.exports = {
      plugins: [{ src: '~/assets/test.js' }]  
    }
    
    

    然后同样可以在页面通过 import 语句来引用。
    3. 动态添加 script 标签
    在页面的 asyncData 或 fetch 方法中动态添加 script 标签来引入文件。
    例如:

    js
    async asyncData({ context }) {
      context.$socket.script.push({ src: '~/assets/test.js' })
    }
    
    

    这会在访问页面时动态添加一个 script 标签来引入 test.js 文件。
    4. require() 语句
    直接在页面使用 require() 来引入 assets 目录下的文件。
    例如:

    js
    const test = require('~/assets/test.js')
    Nuxt.js 会自动处理 es6 模块的转换,将其转为 commonjs 规范。
    
    

    需要注意这种方式只支持在 pages/ 目录下,layouts、components 和 plugins 中不支持。

    以上是 Nuxt.js 中引用 assets 目录下 Javascript 文件的几种方式。总结来说,推荐使用 plugins/ 目录或 nuxt.config.js 中的 plugins 选项配置,这种方式 Nuxt.js 会自动处理引入文件,并且支持热更新。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月25日
  • 已采纳回答 5月17日
  • 修改了问题 5月17日
  • 修改了问题 5月17日
  • 展开全部

悬赏问题

  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据