gpt4 book ai didi

javascript - 意外的 token 导入 - Electron/React

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:28:49 25 4
gpt4 key购买 nike

当我在开始学习 React 后尝试运行我的程序时,我在运行启动脚本时遇到了这个错误。我正在将“App”类从 app.js 导入到我的入口点 ma​​in.js

下面是我的代码:

webpack.config.js

module.exports = {
entry: './main.js',
target: "electron",
output: {
path: './',
filename: 'app.js'
},
devServer: {
inline: true,
port: 3333
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
}
]
}
}

app.js:

const React = require('react');

class App extends React.Component {
mapboxgl.accessToken = 'key_here';

render() {
return (
<div>
var map = new mapboxgl.Map({
container: 'map',
style: 'map_style_here',
center: [-74.50, 40],
zoom: 9
});
</div>
);
}
}

export default App

ma​​in.js:

'use strict';

const React = require('react');
const ReactDOM = require('react-dom');

import App from './app';

const BrowserWindow = require('browser-window')
const app = require("app");

var mainWindow = null; // Keep global reference to main broswer window.

app.on('window-all-closed', function() {
if (process.platform != 'darwin') {
app.quit();
}
});

app.on('ready', function() {

// Reference the main window object.
mainWindow = new BrowserWindow({width: 1200, height: 800});

mainWindow.loadURL('file://' + __dirname + "/app.html")

mainWindow.on('closed', function() {

// Dereference the main window object.
mainWindow = null;

ReactDOM.render(<App />, document.getElementById('map'))
})
})

错误:

Uncaught Exception:
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:404:25)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at loadApplicationPackage
(C:\Programming\RestaurantChat\node_modules\electron
prebuilt\dist\resources\default_app\main.js:257:23)
at Object.<anonymous>
(C:\Programming\RestaurantChat\node_modules\electron
prebuilt\dist\resources\default_app\main.js:289:5)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)

有什么东西没有编译吗?我真的不知道为什么会出现语法错误。

最佳答案

在 Electron 主进程中使用 React 毫无意义,主进程无法访问 DOM。因此,除非您的计划是将 React 组件渲染为字符串,然后通过 IPC 将结果发送到渲染器进程,否则您需要重新考虑您的方法。

至于 SyntaxError,看起来 Babel 没有将 import 转换为 require,虽然我不确定它是否应该或者如果这是 Webpack 应该处理的事情。你在使用 electron-renderer plugin ?您可能想从 electron-react-boilerplate 开始.

关于javascript - 意外的 token 导入 - Electron/React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35834480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com