Browserify with require('fs')
我试图在使用fs对象的文件上使用browserify。 当我浏览它时,对require('fs')
的调用不会被转换并require
返回{}
。
有没有解决方法? 我已经看到了关于stackoverlow和其他地方的一些build议,但没有一个似乎完全实现。
我其实希望创build一个谷歌networking打包的应用程序,使用browserify为我教的课程。
提前致谢。
浏览器应该使用哪个文件系统? HTML5文件系统与传统文件系统没有真正的可比性。 它没有符号链接,只能在Web Workers之外asynchronous访问。
所以答案是:自己编写一个抽象层,在Node.js中运行时可以依赖fs模块,而在浏览器中运行时编写HTML5 FS API。 差异太大,不能为您浏览翻译。
如果要从fs.readFileSync()
调用内联文件内容,可以使用brfs :
var fs = require('fs'); var src = fs.readFileSync(__dirname + '/file.txt');
然后做:
browserify -t brfs main.js > bundle.js
在编译时src
将被设置为file.txt
的内容。
如果你想用browserify运行文件系统,你可以安装npm。
npm install browserify-fs
你可以在客户端访问fs对象。
谢谢
对于Google上的任何人,我有更好的运气来进行stringify转换。
https://github.com/JohnPostlethwait/stringify
这里的答案令人沮丧(尽pipe不是不受欢迎)我将模板作为string导入到我的组件中,以保存templateUrl
购买的HTTP请求,并将它们保留在Javascript文件之外。
由于某些原因, brfs
不能很好地和babel一起玩,并且有很多警告可以让你工作。
我无法使browserify-fs
工作。
然而,在findstringify
转换之后,它就像。
import template from '../template.html' const definition = { template } component.directive('myDirective', () => definition)
翻译为ES5用户:
var template = require('../template.html') component.directive('myDirective', function() { return { template: template } })