首页 > 技术文章 > Ace在线编辑器使用requirejs配置

amor17 2018-11-06 11:24 原文

  1. Ace代码在线编辑器如果需要在requirejs里使用,注意需要使用github上lib/ace目录的文件。
  2. 如果使用ajaxorg/ace-builds下面的代码再使用requirejs会报错,不能正常使用。
  3. 关于requirejs的配置:

将github上lib/ace下的所有文件下载到自己的项目下。

然后在require.config里配置,如下:

require.config({
  // 根路径设置,paths下面全部都是根据baseUrl的路径去设置
  baseUrl:'/lib/js/',
  paths:{
    // 引入jQuery
    jquery: 'jquery.2.0.0.min',
    bootstrap: 'bootstrap/js/bootstrap.min.js',
    ace: 'ace',
  },
})

这里的ace配置的是ace目录,而ace.js和其他ace插件js都在ace目录下方,所以在js文件里require()的时候,需要在引入依赖的require模块时还要加上ace下面的具体js文件,比如:

require(['jquery', 'ace/ace', 'ace/ext/language_tools'], function ($, http, ace) {
  console.log(ace)
  var editor = ace.edit("line-value",{theme: "ace/theme/monokai",});
  ace.require('ace/ext/language_tools');
  editor.getSession().setMode('ace/mode/javascript');
  editor.setOptions({
    enableBasicAutocompletion: true,
    enableSnippets: true,
    enableLiveAutocompletion: true
  });
})

其中'ace/ace'和'ace/ext/language_tools'是ace目录下的ace.js和ace/ext目录下的language_tools插件,使用ace插件只需要在依赖引入后直接使用,不用在回调函数里定义对应的变量,定义对应变量再使用会报错。

可以看github上的demo modelist

推荐阅读