Я использую веб-пакет для компиляции кода React. js для моего приложения Electron. js, но при компиляции с использованием веб-пакета выдает следующую ошибку:
ERROR in ./app/javascript/configs.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: /home/alvinzheng/Projects/BlankReact/app/javascript/configs.js: Unexpected token (4:13)
2 | import * as path from 'path';
3 |
> 4 | const dataDir;
| ^
Конфиги. js файл - это место, где я храню пути и URL-адреса, которые нужны моему приложению, и в конце файла я экспортирую их все, используя синтаксис es6.
Фрагмент конфигурации. js
const dataDir;
if(process.platform === "linux"){
dataDir = path.resolve(require('os').homedir(), 'FOLDER')
}else if(process.platform === "win32"){
dataDir = path.resolve(process.env.APPDATA, 'FOLDER')
}
export {dataDir}
Конфигурация Webpack:
const path = require('path');
const nodeExternals = require('webpack-node-externals');
module.exports = {
mode: "production",
target: 'node',
externals: [nodeExternals()],
entry: './app/javascript/index.js',
output: {
filename: "index-bundle.js",
path: path.join(__dirname + "/app/dist/")
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'fonts/',
publicPath: url => '../assets/fonts/' + url
}
}
],
},
}
Babelr c:
{
"presets": ["@babel/preset-env", "@babel/react"]
}