Неожиданный токен Webpack ';' - PullRequest
0 голосов
/ 12 июля 2020

Я использую веб-пакет для компиляции кода 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"]
}

1 Ответ

2 голосов
/ 12 июля 2020

Константы должны быть инициализированы. Потому что вы не можете переназначить значения позже.

См. Это do c: SyntaxError: missing = in const декларация .

Должно быть

let dataDir;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...