zoukankan      html  css  js  c++  java
  • js 模块化 -- 基本的导出与引入class模块

    1.目录结构

     2.类语法与导出

    class food {
    }
    
    //定义常量
    let c = "苹果";
    //正确的函数写法
    food.prototype.getfood = function (str) {
        if (!str) {
            return "" + this.g;
        }
        return "" + str
    }
    //定义常量
    food.prototype.g = "荔枝";
    
    
    
    class food2 {
        //定义常量
        c2 = "苹果";
        //无法这个定义函数,错误写法
        // function kk(){
        //
        // }
        //正确的函数写法
        getfood2 = function (str) {
            if (!str) {
                return "" + c;
            }
            return "" + str
        }
    }
    
    
    //默认导出 ,如果事由一个类用这个方法修方便,
    // export {food as default };
    export {food, food2}
    源码

    写了两种定义类方法和属性变量的写法

    注意:类名.prototype.【变量名或者方法】=  。。。这种写法是扩展写法,
    或者说prototype就是用于扩展类里的变量名或者方法的

    3.html 导入 与使用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组件引入测试</title>
    <!--    &lt;!&ndash;导入脚本&ndash;&gt;-->
    <!--    <script type="text/javascript" src="../../../plug/vue/devVue.js"></script>-->
    <!--    &lt;!&ndash;导入样式&ndash;&gt;-->
    <!--    <link rel="stylesheet" type="text/css" href="../../../css/myStyle.css">-->
    <!--    &lt;!&ndash;layui 界面组件&ndash;&gt;-->
    <!--    <link rel="stylesheet" type="text/css" href="../../../plug/layui/css/layui.css">-->
    </head>
    <body>
    <div id="aut">
    
    
    </div>
    
    <!--模块加载需要将类型设置为module-->
    <script type="module" >
    
        //http://localhost:57/html/pc/test/h1.html
    
        //正常导入类
        import {food,food2} from "./js/classTest1.js"
        //导入类换别名
        // import {food as f,food2 as f2} from "./js/classTest1.js"
        console.log(food)
        let c_food = new food();
        console.log(c_food.getfood())
        console.log(c_food.getfood("西瓜"))
        console.log(c_food.g)
        // console.log(mc.getfood())
        // console.log(mc.getfood("西瓜6655东方航空"))
        let c_food2 = new food2();
        console.log(c_food2.c2)
        console.log(c_food2.getfood2())
        console.log(c_food.getfood("芒果"))
    
    </script>
    
    </body>
    </html>
    源码

    核心部分是

     4.测试

    打印结果如下

     5.跨域提示

    静态文件要么放在工程里、要么放在.net站点、要么配置nginx路由到本地的静态文件、要么修改浏览器的权限,否则会报CROS跨域异常
  • 相关阅读:
    eventbus3-intellij-plugin插件搜不到
    flutter控件之CheckBox
    Java中常见数据结构:list与map -底层如何实现
    flutter控件之RadioButton
    git add Untracked files
    执行git push出现"Everything up-to-date"
    用flutter写一个精美的登录页面
    Android Studio最全插件整理
    Mac下git的环境搭建和基本使用
    上周热点回顾(7.1-7.7)团队
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/14606509.html
Copyright © 2011-2022 走看看