Quasar项目中如何导入外部js文件

How to import an external js file in Quasar project

在早期的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 中的模块的信息,这样你就可以更好地理解正在发生的事情,并且还可以使用 const 代替 var,因为该变量永远不会重新分配,最好保持全局范围清洁器。