javascript - nuxtjs 中的外部 Javascript 文件
问题描述
我的网站基于一个旧教程,它使用 3 个外部 js 文件。我无法使用 nuxtjs 重新创建它。
首先,我尝试在标签之前包含 js 文件。
nuxt.config.js
head: {
script: [
{ src: 'js/imagesloaded.pkgd.min.js', type: 'text/javascript', body: true, defer: true },
{ src: 'js/TweenMax.min.js', type: 'text/javascript', body: true, defer: true },
{ src: 'js/demo.js', type: 'text/javascript', body: true, defer: true }
]
},
这适用于初始页面加载。但是,一旦我更改页面,js 文件就会被忽略。
经过一番研究,我尝试将这些文件作为插件包含在内,以避免 ssr。
nuxt.config.js
plugins: [
{ src: "plugins/imagesloaded.pkgd.min.js", mode: 'client' },
{ src: "plugins/TweenMax.min.js", mode: 'client' },
{ src: "plugins/demo.js", mode: 'client' }
],
这给了我多个错误消息(除其他外:)'Cannot read property addEventListener of null
。
这是一个非常小的项目,时间压力很大,因此我们将不胜感激任何形式的帮助!
更新:
解决方案
解决方案 - 要遵循的步骤:
添加base.css
到 static > css 文件夹,并将所有js
文件添加到 static > js 文件夹,然后引用以下所有内容nuxt.config.js
:
link: [
{ rel: 'stylesheet', type: 'text/css', href: 'css/base.css' }
],
script: [
{ src: 'js/imagesloaded.pkgd.min.js', type: 'text/javascript', body: true, defer: true },
{ src: 'js/TweenMax.min.js', type: 'text/javascript', body: true, defer: true },
{ src: 'js/demo.js', type: 'text/javascript', body: true, defer: true }
]
将所有图像添加到 static > img 文件夹并编辑以base.css
在base.css
写入中引用图像(无论引用图像的位置(2个位置)):url('../img/1.jpg')
在 Vue 模板中,按HTML
原样复制粘贴。
在 Vue 模板中引用图像时,您只需执行以下操作:
<div class="background" style="background-image: url(img/1.jpg)"></div>
这就对了。它应该工作得很好。
我创建了一个GitHub 存储库,因此您可以查看并了解我是如何做到的。
您还可以在CodeSandbox上实时查看。
推荐阅读
- linux-kernel - DMA DRQ 是 DMA 虚拟通道吗
- pandas - 如何将时间序列和年份组合在一起?
- swift - 如何在 swiftUI 中运行终端命令?
- android - 将protobuf与android studio一起使用时编译时错误
- excel - 如何在EXCEL中为用户名添加相等字符串中的序号
- android - 无法在 Android 上启动项目:运行 adb 时出错:此计算机无权调试设备
- c# - 如何使用带有@转义符号的字符串插值?
- javascript - 如何使用nodejs在mongodb中合并多个集合
- python - 嵌套 for 循环混淆与 .format()
- git - 将单个提交拆分为现有 git 历史记录中的多个提交