在控制器中找不到 fs

Posted

技术标签:

【中文标题】在控制器中找不到 fs【英文标题】:Cannot find fs in controller 【发布时间】:2016-05-14 04:29:37 【问题描述】:

我是一个节点新手,如果这很简单,请原谅我..我现在在互联网上搜索了 3 天,但找不到任何关于如何将 Browserify 与 AngularJS 和 Gulp 结合使用的示例.. 所以我一点头绪都没有。

我正在开发一个应用程序,我关注了这个guide。我喜欢在我的 ma​​inCtrl.js 中使用 require('fs'),并使用函数 fs.readdirSync(); 但给了我一个 typeError 并返回 fs.readdirSync is not a function,为什么它不起作用?

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]);

ma​​inCtrl.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'));

【问题讨论】:

【参考方案1】:

等一下,您是否尝试在浏览器中使用文件系统函数

不,你不能那样做。时期。如果您考虑安全隐患,您就会明白原因。

【讨论】:

以上是关于在控制器中找不到 fs的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 4 中找不到类控制器

我的 Jquery 文件在 laravel 中找不到控制器 [关闭]

linux 环境下bash脚本中找不到命令

PHPUnit 3.7 在 Laravel 4.1 中找不到控制器类

在 Laravel 中找不到类“App\Http\Controllers\Excel”

在控制器中找不到命名空间内的 Ruby on Rails 模型