素材牛VIP会员
vue.js如何引入非模块化的js文件并调用里面的方法和类。
 封***榜  分类:JavaScript  人气:1956  回帖:2  发布于6年前 收藏

我现在工程里面需要引入一个控件,是外部的js文件,并没有模块化。
这个是demo,并不是vue写的,引用方式直接在jsp页面引入

<script type="text/javascript" src="/js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="/js/demo.js"></script>
<script type="text/javascript" src="/js/microdone.h5.min.js"></script>
<script type="text/javascript">
    var kb = new keyBoard({
        "chaosMode" : 0,
        "pressStatus" :1,
        "kbType" : 0,
        "odd" : 51,
        "svg":"svg"
    });
    var passGuard1 = new passGuard({
        "maxLength" : 12,
        "regExp1" : "[\\S\\s]",
        "regExp2": "[0-9]{6,12}",
        "displayMode" : 0,
        "callBack":cb1,
    "errorCallBack":cb2,
        "rsaPublicKey" : "30818902818100a14c00666a2a72062f21eb696f61ed79af886d5c907bb674ff89dfdca1bb9b0642ac17dafb43ecdb8c8e045e559a27af5c8674641e260769c04e4203428ac9f653a6873950bc6076748e8a1a5e1d55e9084aeb90bb75876eff1bd4c54649133b3ec5001f423fc07aa96d4c10aa87c30c8c8ade1a8ec2180bf233e2662df5c49f0203010001",// rsa公钥
      "sm2KeyHex":"2df5e9f76b79da29e6e56779fd9e1d81fd2ccd2372caddf2310e29a64dce847691609a35e7dab24609cd44a89b548e88ccf1850658203f0b24de73bff0e88527",
        
    });</script>

我需要引入上面js生成控件。如果我直接在vue项目中的index直接引用,并不起作用。没法new出对象。
之后我在项目加入了jquery。
在要使用这个控件的页面引入
import 'imports-loader?$=jquery!@/common/js/microdone.h5.min.js'
但是报了一堆错误

请问大神有什么好的引入非模块化js文件,并使用里面的方法、实例化对象的方式呢

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv6 码匠
Fo***ou 职业无 6年前#1

最简单方法,,把script写到index.html里

复杂一点,自己写个script load

Lv3 码奴
懒***材 职业无 6年前#2

找到一个方案。首先就是在index页面scripty引入,然后需要在webpack.base.conf.js找到eslint-loader的代码检查规则,将其去掉。

这样就不会报错了,代码也可以使用。不过这方式还是比较不好的会造成全局污染,也和vue的编码风格很不搭,目前也只有这个方法使我这个工程比较合适的方式了。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取