如何使用适当的path来设置节点项目来打开组件文件

我正尝试从这里运行示例应用聊天应用程序。 示例聊天我已经安装了所有的节点模块和凉亭组件。 我有所有3个项目在命令提示符运行没有错误。 但我不知道为什么凉亭组件没有被发现? 我已经做了一些search,但我发现一些解决scheme没有奏效。 除了404错误以外,没有其他的错误信息。 相关的代码(我相信)。 总共包含3个项目,其中包含引用path的文件我也正在使用chat-main-app中的windows 10 app.js

var express = require('express'), path = require('path'), cookieParser = require('cookie-parser'), bodyParser = require('body-parser'); var routes = require('./routes'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.get('/', routes.index); app.set('port', process.env.PORT || 3000); var server = app.listen(app.get('port'), function() { // log a message to console! }); module.exports = app; 

index.ejs在同一个项目中

 <head> <title>scotch-chat</title> <link rel="stylesheet" href="css/app.css"> <link rel="stylesheet" href="css/animate.css"> <link rel="stylesheet" href="libs/angular-material/angular-material.css"> <script src="libs/angular/angular.js"></script> <script src="http://localhost:2015/socket.io/socket.io.js"></script> <script type="text/javascript" src="libs/angular-animate/angular-animate.js"></script> <script type="text/javascript" src="libs/angular-aria/angular-aria.js"></script> <script type="text/javascript" src="libs/angular-material/angular-material.js"></script> <script type="text/javascript" src="libs/angular-socket-io/socket.js"></script> <script type="text/javascript" src="libs/angular-material-icons/angular-material-icons.js"></script> <script src="js/app.js"></script> 

chat-server-project index.js

 //Import all our dependencies var express = require('express'); var mongoose = require('mongoose'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); //Set our static file directory to public app.use(express.static(__dirname + 'public')); //Route for our index file app.get('/', function(req, res) { //send the index.html in our public directory res.sendfile('index.html'); }); 

chat-web-app server.js

  var express = require('express'), path = require('path'), cookieParser = require('cookie-parser'), bodyParser = require('body-parser'); var routes = require('./routes'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.get('/', routes.index); app.set('port', process.env.PORT || 4000); var server = app.listen(app.get('port'), function() { // log a message to console! console.error('Port at 4k'); }); module.exports = app; 

index.ejs在同一个项目中

 <head> <title>scotch-chat</title> <link rel="stylesheet" href="css/app.css"> <link rel="stylesheet" href="css/animate.css"> <link rel="stylesheet" href="libs/angular-material/angular-material.css"> <link rel="stylesheet" href="libs/MaterialDesign/css/materialdesignicons.css"> <script src="libs/angular/angular.js"></script> <script type="text/javascript" src="libs/jquery/dist/jquery.min.js"></script> <script src="http://localhost:2015/socket.io/socket.io.js"></script> <script type="text/javascript" src="libs/angular-animate/angular-animate.js"></script> <script type="text/javascript" src="libs/angular-aria/angular-aria.js"></script> <script type="text/javascript" src="libs/angular-material/angular-material.js"></script> <script type="text/javascript" src="libs/angular-socket-io/socket.js"></script> <script type="text/javascript" src="libs/angular-material-icons/angular-material-icons.js"></script> <script src="js/app.js"></script> 

默认情况下,bower使用目录bower_components,这应该在您的解决scheme根文件夹中。 该目录可以在bowerconfiguration文件.bowerrc上重写(尝试在解决scheme根文件夹中查找它。

我假设你在你的解决scheme的根文件夹中运行了命令bower install,所以它必须在某个地方,否则,bower安装将会closures而没有改变。 如果你想使它再次安装使用命令:

 bower install --force 

请确保你有git(可能需要一些软件包和依赖关系)和节点,访问解决scheme根path并运行以下命令:

 npm install 

(假设其中一个软件包将会打开)运行:

 bower install 

如果没有运行:

 npm install bower -g (to install globally and so that you can run bower from any folder) then; npm install bower (to install on your solution) then; bower install 

应该安装所有软件包及其依赖项。 有关bower软件包pipe理器的更多信息,请参阅bower和about .bowerrc以及其他选项参考bowerconfiguration 。

在回购你提到scotch.io ,如果你浏览到scotch -chat-main-app,你会看到一个名为.bowerrc的文件存在,检查它你会看到:

 { "directory" : "app/public/libs", "proxy":"http://127.0.0.1:8080", "https-proxy":"http://127.0.0.1:8080", "strict-ssl" : false } 

所以,所有的bower软件包将被安装在该目录中。 注意:由于您使用的是Windows 10,请确保您使用pipe理员权限在terminal窗口中运行上述所有安装。

如果你正在iisnode下运行node / express,有一些catch ..你没有提到它,所以我会假设你不是,所以运行该解决scheme,只需运行命令:

 gulp run 

让我知道它是如何去的。