使用FS文件系统的节点,Webpack和React路由

我想使用NodeJS默认的fs模块来读写文件。 我已经差不多尝试了所有可以在互联网上find的东西。 ES6和CommonJS的例子,编辑Webpack.config文件,添加应该添加Promise等的软件包..但似乎没有什么工作。

目前这是我的webpack.config.js

 var webpack = require('webpack'); module.exports = { entry: './index.js', output: { path: 'public', filename: 'bundle.js', publicPath: '' }, node: { fs: "empty" }, "browser": { "fs": false }, resolve: { modulesDirectories: ['web_modules', 'bower_components', 'node_modules'] }, module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader?presets[]=es2015&presets[]=react' } ] } } 

正如我所提到的, 在这个主题中添加了一些build议 。 我想在下面显示的组件中使用fs.readFile

 var React = require('react'); var fs = require('fs'); var QuestionList = React.createClass({ handleVote: function(id, state) { var file = '../public/api/questions'; fs.readSyncFile(file, function(err, data) { console.log( err ); console.log( data ); }); }, render() { var rows = [] this.state.questions.forEach( function(question) { rows.push( <QuestionItem onVoteUpdate={this.handleVote} key={question.id} up={question.upvotes} down={question.downvotes} /> ); }.bind(this)); return ( <section> <ul className="question-list">{rows}</ul> </section> ) } }); module.exports = QuestionList; 

我已经删除了一些函数,如使用jQuery加载问题,并为此示例设置InitialState

我可以想象,webpack不能在前端js文件或类似的东西中build立像FS这样的后端任务,但是如何使用Node,Webpack和React来读写文件呢? 这甚至有可能吗?

据我所知,你不能在前端JS文件中使用fs ,因为你无法从浏览器访问文件系统(看起来你可能期望在Webpack编译期间readFileSync调用被运行 – 这不是它的工作原理!)。 你可能需要一个Webpack加载器来完成这个任务,所以你可以require()这个文件,否则你将不得不通过AJAX加载它。