Я пишу свою первую библиотеку JS и хотел научиться использовать babel и webpack.
Проблема, с которой я столкнулся, заключается в том, что класс (точка входа?), Который я хотел бы создать в моем *Файл 1003 * заставляет браузер жаловаться, что он "не определен".
Это моя конфигурация веб-пакета:
const path = require('path');
module.exports = {
entry: path.resolve(__dirname, './src/js/FormrEditor.js'),
output: {
filename: 'formr-editor.js',
path: path.resolve(__dirname, 'dist/js'),
},
devtool: "source-map",
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
exclude: '/node_modules/',
query: {
presets: ['@babel/env']
}
}
]
},
};
И js:
import {Toolbox, ToolboxItem} from "./Toolbox";
export default class FormrEditor{
constructor(element, config){
/** Find the element to use as the container */
if(element instanceof Element)
this.container = element;
else
this.container = document.getElementById(element);
this.container.classList.add("feditor")
this.buildEditorDom();
}
buildEditorDom()
{
let form = document.createElement("div");
form.classList.add("feditor-form");
let toolbox = document.createElement("div");
toolbox.classList.add("feditor-toolbox");
let handle = document.createElement("div");
handle.classList.add("feditor-toolbox-handle");
let testItem = document.createElement("div");
testItem.classList.add("feditor-toolbox-item");
toolbox.appendChild(handle);
toolbox.appendChild(testItem);
this.container.appendChild(form);
this.container.appendChild(toolbox);
this.toolbox = new Toolbox(toolbox);
this.form = form;
}
}
Такв файле index.htm
, который я делаю:
<script src="formr-editor.js"></script>
<script>
import FormrEditor from "./formr-editor";
var formr = FormrEditor(document.getElementById('editor'), {});
</script>
И вот тогда он жалуется, что FormrEditor
не определено ...
Немного больше информации:
Я работаю с index.htm из папки "demo", в которой у меня есть символические ссылки как на formr-editor.js
(вывод webpack), так и на css.
У меня естьтакже пробовал var formr = new FormrEditor(document.getElementById('editor'), {});
без import
согласно MarcRo, и я все еще получаю ту же ошибку.
Я пробовал export
и export default
в классе и ничего ...