账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    WEB前端:es6转es5后,把es5模块化代码打包后,加载打包脚本仍然报错。
    22
    0

    项目基本情况:

    本人使用ol地图插件,要使用拖拽功能,搜索官网后发现相关代码是es6的,本人没接触过,于是临时补习,得知es6目前浏览器支持不理想,然后就用babel把es6转换为es5,此时发现转换的es5是模块化的,有大量的require函数,浏览器也不能支持,最后查了资料说需要把es5模块化的JS打包,我是个菜鸟序员,不太理解打包为何意,所以理解为用相关工具把带有依赖(require)的各个JS合并成一个,于是我使用了grunt来打包,后来检查输出的JS,确实把很多JS都合并在里面了,本以为HTML加载了这个合并的JS就可以了,但是....问题如下

    问题
    运行HTML提示require not default,
    然后我又加载了require.js,HTML报错:Uncaught Error: Module name "ol/index.js" has not been loaded yet for context: _. Use require([])....,到目前为止我知道的问题在于合并的JS中涉及require相关写法格式不合适(网上查的),babel转es5后的写法是:var _index = require('ol/index.js');
    但是浏览器提示我应该使用“require([])”格式的写法....
    但是如果我手动修改,那将是非常巨大的工作量...依赖的层级太多了

    疑问
    1、我是否对require等模块化的语法有误解,特别是“打包”的含义。
    2、我参考的地图插件在HTML是完全可以运行的,是否我的环境部署和配置错误了,如果错误为什么可以使用grunt能够合并大量的模块化JS。
    3、如果只是“require([])”格式问题,有没有什么方法能在es6转es5的时候就按照这种格式输出呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版

    回答动态

    师傅被妖怪抓走了:发布了悬赏问题火爆全网的“元宇宙”到底是什么?预计能赚取 1积分收益
    酒后略带风情:发布了悬赏问题Android内存中Graphics与Code占用过高预计能赚取 10积分收益
    扛起拖把扫天下:发布了悬赏问题typescript如何导出接口配置?求解,谢谢!预计能赚取 10积分收益
    发布了悬赏问题Vue 如何改变返回页面的路径?如让B页面只能返回到A页面.预计能赚取 11积分收益
    发布了悬赏问题vue H5移动端;底部bottom固定定位,安卓弹起键盘导致页面变形如何解决?预计能赚取 10积分收益
    发布了悬赏问题请问为什么tomcat8.5 GET请求中文正常,POST请求还需要设置UTF-8.预计能赚取 10积分收益
    发布了悬赏问题vue2.5+ts创建以及引入jq的方法预计能赚取 11积分收益
    情场浪女:发布了悬赏问题import ggplot时报错module 'pandas' has no attribute 'tslib'预计能赚取 10积分收益
    见心书画许老师18753375161:发布了悬赏问题echarts3 legend禁止点击事件,允许悬浮事件预计能赚取 11积分收益
    aa_92cb0bd09f:发布了悬赏问题codewar上的一个问题预计能赚取 11积分收益