2016-02-04 105 views
2

我是一个节点新手,所以请原谅我,如果这是简单的..我现在搜索了3天的互联网,并找不到任何关于如何使用Browserify与AngularJS和吞咽......所以我不知道。在控制器中找不到fs

我正在开发一个应用程序,我跟着这guide。我喜欢require('fs')里面我的mainCtrl.js,并使用函数fs.readdirSync();,但给我一个typeError并返回fs.readdirSync不是一个函数,为什么它不工作?

TypeError: fs.readdirSync is not a function 
    at new module.exports (app.js:49) 
    at Object.invoke (app.js:9502) 
    at extend.instance (app.js:14347) 
    at nodeLinkFn (app.js:13464) 
    at compositeLinkFn (app.js:12896) 
    at compositeLinkFn (app.js:12899) 
    at compositeLinkFn (app.js:12899) 
    at compositeLinkFn (app.js:12899) 
    at publicLinkFn (app.js:12776) 
    at app.js:6649 

我的代码在这里:

app.js

'use strict'; 

require('angular'); 
require('angular-route'); 
require('angular-animate'); 

var mainCtrl = require('./controllers/mainCtrl'); 
var app = angular.module('myApp', ['ngRoute', 'ngAnimate']) 

app.controller('mainCtrl', ['$scope', '$http', mainCtrl]); 

mainCtrl.js

'use strict'; 
module.exports = function($scope, $http) { 
    var fs = require('fs'); 

    console.log("fs in mainCtrl: ", fs); // this console logs Object {} 
    var files = fs.readdirSync('data/'); 
    console.log("files in mainCtrl: ", files); 
}; 

个Gulpfile.js

'use strict'; 

var gulp = require('gulp'); 
var browserify = require('browserify') 

gulp.task('browserify', function() { 
return browserify('./js/app.js') 
    .bundle() 
    .pipe(source('app.js')) 
    .pipe(gulp.dest('./build')); 

回答

2

等待,你想在浏览器中使用的文件系统功能

不,你不能这样做。期。如果你考虑安全问题,你会明白为什么。