首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Coding
V2EX  ›  JavaScript

用 codemirror 的时候如何动态加载某个语言的.js 文件?

  •  
  •   clino · 151 天前 · 777 次点击
    这是一个创建于 151 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我主要是后端开发人员,现在想用 vue-codemirror ( https://github.com/surmon-china/vue-codemirror ) 来在线展示代码
    //用的是传统的方式开发木有用 nodejs/webpack/import 这类的

    因为 codemirror 里支持的语言很多,如果我不想预先加载某个语言的 js,如
    <script type="text/javascript" src="/static/modules/codemirror/5.48.0/mode/javascript/javascript.js?ver=3"></script>
    而想在 javascript 里通过获取到的语言动态地加载相关的 js 文件进来,要用什么方法呢?

    搜了一下动态加载 js 可以用 jQuery.getScript() ,不过不确定是不是比较好的姿势,所以还是来问问看.
    4 回复  |  直到 2019-07-18 08:12:32 +08:00
        1
    arrow8899   151 天前
    require.js
        2
    GTim   151 天前
    详细点的呢看这个网页的源代码 [https://www.twle.cn/t/yufei/c/helloworld]( https://www.twle.cn/t/yufei/c/helloworld)

    不那么详细的呢就是添加下面的设置即可,比如 C 语言

    var var editor = CodeMirror.fromTextArea('xx');
    var ext = "c";
    var info = CodeMirror.findModeByExtension(ext);
    var mode = "";
    var spec = "";
    if (info) {
    mode = info.mode;
    spec = info.mime;
    }
    if (mode) {
    editor.setOption("mode", spec);
    CodeMirror.autoLoadMode(editor, mode);
    }
        3
    clino   151 天前 via Android
    @GTim 感谢例子!之后试试
        4
    clino   146 天前
    @GTim 我之前用 vue 结合处理怎么也有问题,用了 vue-codemirror 也各种问题
    刚试了 ace,结果一下就正常显示了,所以准备不用 codemirror 用 ace 了,feature 级别看起来也差不多
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3671 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 05:17 · PVG 13:17 · LAX 21:17 · JFK 00:17
    ♥ Do have faith in what you're doing.