【发布时间】:2020-07-12 05:42:21
【问题描述】:
我正在使用 webpack 为我的 Electron.js 应用程序编译 React.js 代码,但是使用 webpack 编译时出现以下错误:
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;
| ^
configs.js 文件是我存储应用程序需要的路径和 url 的地方,在文件末尾我使用 es6 语法导出所有这些。
config.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
}
}
],
},
}
Babelrc:
{
"presets": ["@babel/preset-env", "@babel/react"]
}
【问题讨论】:
-
const变量无法重新分配。为您的方案使用let,因为您有条件地分配值。const dataDir;没有多大意义。 -
是的,我现在觉得自己很愚蠢
标签: javascript node.js webpack babeljs