vue.js - Quasar项目中如何导入外部js文件
问题描述
在早期的 javascript 项目中,我们创建了一个名为 kresource.js 的文件,其代码如下
//kresource file, contains some functions
var kresource = (function () {
function kresource () {
}
kresource.getLang = function () {
console.log('en') //it's only a sample...
}
return kresource
})()
在 html 页面中,我们可以通过kresource.getLang()访问该函数,但在 Quasar vue 页面中,如何导入该文件并访问该函数?
//index.vue file
import kresource from '../js/kresource.js'
[Vue warn]: Error in created hook: "TypeError: _js_kresource_js__WEBPACK_IMPORTED_MODULE_0___default.a.getLang is not a function"
解决方案
它不起作用,因为您需要将该代码用作模块而不是依赖于var
全局。
您需要在export
文件中添加一个。在文件的末尾,您需要放置:
export default kresource
在您计划使用它的文件中:
import kresource from 'path to the file'
注意:您可以阅读更多关于 JS 中的模块的信息,这样您就可以更好地理解什么是 hapening,并且也可以代替 var use const
,因为该变量永远不会重新签名,并且最好保持全局范围更清洁。
推荐阅读
- android - 在项目的动画期间滚动时 RecyclerView 的项目重叠
- html - Bootstrap 没有正确覆盖 CSS
- c++ - reinterpret_cast
(37)' 不是常量表达式 - ruby-on-rails - 为什么我的用户是通过 Rails 控制台创建的,但没有电子邮件属性存储在数据库中?
- c - The readers/writers problem using semaphore
- python - Django Celery:函数仅在 True While 循环中运行一次
- flutter - 在 appbar 上更新时,Flutter 脚手架更新了整个页面
- c# - '无法将'System.String'类型的对象转换为'System.Windows.Controls.ComboBoxItem
- r - 是否有可以梳理 .csv 文件并将该电子表格中列出的选定文件移动到新文件夹的 R 函数?
- codeigniter - Community-auth Codeigniter 3 - 随机似乎丢失会话变量