Как конвертировать AMD определить с помощью редактора ace в веб-пакет? - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь перенести старый пакет на основе AMD / require.js и редактора Ace в веб-пакет.После запуска webpack я получаю следующие ошибки и не могу понять, как их исправить.

output:

ERROR in ./src/lib/custom-ace.js
Module not found: Error: Can't resolve 'ace' in '.../src/lib'
 @ ./src/lib/custom-ace.js 2:0-12:2
 @ ./src/index.js

ERROR in ./src/lib/custom-ace.js
Module not found: Error: Can't resolve 'jquery' in '.../src/lib'
 @ ./src/lib/custom-ace.js 2:0-12:2
 @ ./src/index.js

src / index.js

require(["lib/custom-ace"], function(customAce) {
    editor = customAce.createEditor({})
})

src / lib / custom-ace.js:

define([
    'jquery',
    'ace' // <-- is this correct?
], function(jQuery, ace) {

    var exports = {};

    exports.createEditor = function(options) {
    }
    return exports;
});

package.json:

{
  "name": "test",
  "version": "0.1.0",
  "dependencies": {
    "ace": "^1.3.0",
    "ace-builds": "^1.4.4"
  },
  "devDependencies": {
    "webpack": "^4.33.0",
    "webpack-cli": "^3.3.2"
  }
}

Webpack.config.js:

const path = require('path');

module.exports = {
    entry: './src/index.js',
    mode: 'development',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    resolve: {
      modules: [
        path.resolve('./node_modules'),
        'src/lib/*.js',
        path.resolve('./src')
      ],
      extensions: ['.js'] // File types
    }
};

1 Ответ

0 голосов
/ 15 июня 2019

удалить туза из package.json, так как это не

import ace from "ace-builds"
ace.edit(element, options)

, если вы хотите автоматически загружать режимы, установите плагин web-загрузчика файлов и используйте

import "ace-builds/webpack-resolver"

аналогично https://github.com/nightwing/ace-webpack-demo

...