В моем файле входа для веб-пакета у меня есть это:
import ReactDOM from 'react-dom';
import Layout from './components/Layout';
// ...
dialog = document.createElement("dialog");
ReactDOM.render(<Layout dialog={dialog} />, dialog);
Это компилируется в React.createElement(o,{dialog:u})
Мой сценарий затем жалуется, что React
не определено, так как я неимпортировал его.
Между тем, если я добавлю import React from 'react';
вверху файла, строка, упакованная в Webpack, превратится в i.a.createElement(o,{dialog:u})
.
С какой стати она будет использовать React.createElement
в случае, если я не импортирую React вручную?
Моя конфигурация Webpack:
const path = require('path');
const os = require('os');
const PLUGINDIR = `${os.homedir()}/Library/Application\ Support/Adobe/Adobe\ XD\ CC/develop/ea44acd5/`;
module.exports = {
entry: './src/main.js',
mode: 'production',
output: {
path: path.resolve(PLUGINDIR),
filename: 'main.js',
libraryTarget: "commonjs2"
},
module: {
rules: [{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: "babel-loader",
options: {
plugins: [
"transform-react-jsx"
]
}
}, {
test: /\.css$/,
use: ["style-loader", "css-loader"]
}]
}
};