node.js - Electron 和 Webpack ENOENT : no such file or directory, 打开 '/path.txt'

标签 node.js reactjs webpack electron

我是一名尝试使用与 Webpack 捆绑在一起的 Electron(以前称为 Atom)和 Reactjs 的初学者。一切正常,直到我尝试使用 Electron 的远程模块访问我的 React 组件中的 mainWindow。

尝试导入此模块时,出现臭名昭著的错误: Uncaught Error :ENOENT:没有这样的文件或目录,打开“/path.txt”

我尝试重新安装 electron 并检查了 node_modules/electron,发现 path.txt 在那里。

这是我的 webpack.config.js:

var webpack = require('webpack');

module.exports = {
    context: __dirname,
    entry: {
        app: ['webpack/hot/dev-server', './src/App.jsx'],
    },
    target: 'node',
    output: {
        path: './public/built',
        filename: 'bundle.js',
        publicPath: 'http://localhost:8080/built/'
    },
    devServer: {
        contentBase: './public',
        publicPath: 'http://localhost:8080/built/'
    },
    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                include: /src/,
                query: {
                    presets: ['es2015', 'react']
                }
            },
            {
                test: /\.(png|jpg)$/,
                loader: 'file-loader?name=[path][name].[hash].[ext]'
            },
            {
                test: /\.css$/,
                loader: 'style-loader!css-loader'
            }
        ]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ]
}

这是我的 package.json:

{
  "name": "app",
  "version": "0.1.0",
  "main": "main.js",
  "description": "description",
  "license": "UNLICENSED",
  "repository": {
    "type": "git",
    "url": "https://github.com"
  },
  "scripts": {
    "start": "./node_modules/.bin/electron .",
    "watch": "./node_modules/.bin/webpack-dev-server"
  },
  "dependencies": {
    "electron": "^1.3.5",
    "radium": "^0.17.1",
    "react": "^15.0.1",
    "react-dom": "^15.0.1"
  },
  "devDependencies": {
    "babel": "^6.5.2",
    "babel-core": "^6.7.7",
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-react": "^6.5.0",
    "css-loader": "^0.24.0",
    "file-loader": "^0.9.0",
    "style-loader": "^0.13.1",
    "webpack": "^1.13.0",
    "webpack-dev-server": "^1.14.1"
  }
}

我怀疑它可能与 package.json 中的启动脚本有关,因为 path.txt 与 node_modules/.bin/electron 不在同一目录中。但是,我还没有想出如何解决这个问题。

最佳答案

以防为时不晚,您只需在 webpack.config.js 中将“Node ”目标替换为“Electron 渲染器”

关于node.js - Electron 和 Webpack ENOENT : no such file or directory, 打开 '/path.txt',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39419814/

相关文章:

javascript - 在应用程序代码上运行 Google Closure Compiler 后更新 AngularJS 模板 HTML

node.js - “ng”不被识别为内部或外部命令

webpack - 如何链接由 Webpack 4 分割的 block ?

php - 未捕获的异常 : Unable to locate Mix file

node.js - 在 Node 中使用 pty 和 ssh2 来使用 sudo 执行命令

node.js - 尽管使用 err.stack,但获取 "at Error (native)"而不是实际的 node.js 堆栈跟踪

javascript - 如何通过 Context API 获取 React.Component 类中的数据?

reactjs - 如何代码拆分 webpack 的 vendor block ?

Meteor-React - 缺少类属性转换

javascript - 如果 bootstrap.js 被忽略(未导入),你的 react + bootstrap 是否安全