如何使用适当的路径设置节点项目以下载组件文件

时间:2016-01-23 00:02:47

标签: node.js express bower ejs

我正在尝试从此处运行示例应用聊天应用。sample chat 我安装了所有节点模块和割草机组件。我有3个项目在命令提示符下运行没有错误。但我无法弄清楚为什么没有找到凉亭组件?我做了一些搜索,但我找到的一些解决方案没有奏效。除404错误外,没有其他错误消息。 相关代码(我相信)。总计3个项目,所有项目都包含引用路径的文件 我也在使用Windows 10 app-js在chat-main-app中

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>

聊天服务器项目 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');
});

聊天web应用程序 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>

1 个答案:

答案 0 :(得分:2)

默认情况下,bower使用目录bower_components,这应该在您的解决方案根文件夹中。该目录可以在bower配置文件.bowerrc上覆盖(尝试在解决方案根文件夹中查找它。

我假设您在解决方案根文件夹中运行命令bower install,因此,它必须在某处,否则,bower install将关闭而不进行更改。如果要再次安装,请使用以下命令:

bower install --force

请确保您已安装git(可能需要某些软件包和依赖项)并安装节点,访问解决方案根路径并运行以下命令:

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软件包管理器的更多信息,请参阅bower和.bowerrc以及其他选项,请参阅bower configuration

在你提到的回复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,因此请确保在具有管理员权限的终端窗口中运行上述所有安装。

如果你在iisnode下运行node / express,有一些捕获......你没有提到它,所以我假设你不是,所以,运行解决方案,只需运行命令:

gulp run

让我知道它是怎么回事。