不能使用" src"以适当的相对方式标记

时间:2017-07-22 16:22:25

标签: angularjs node.js express relative-path

我的目录结构如下。 " - "显示文件夹中的单个级别。

--file_uploads
----routes
----views
------index.html
------app.js
------angular.min.js
----public
----node_modules
----app.js
----package.json

在file_uploads文件夹中,我打开终端并编写" sudo nodemon app",我的服务器开始运行,当我转到" localhost:// 3000"我得到两个错误,即"错误404找不到angular.min.js"和"错误404找不到app.js"。

在我的index.html中,我有两行代码来源" src" : -

<script type="text/javascript" src="./views/angular.min.js"></script>

<script src="./views/app.js"></script>

请指导我在哪里做错了,我的index.html页面打开但无法找到angular.min.js和app.js的相对路径。

好的,我从http-server获得了一个解决方案来处理文件,但我需要使用我的快递,我可以使用angularjs代码服务器html代码。我怎样才能实现express + node + angular + html?

在我的app.js服务器端,我正在这样做。

var cons = require('consolidate');

// view engine setup
app.engine('html', cons.swig);
app.set('views', path.join(__dirname+ "/views"));
app.set('view engine', 'html');
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', index);
app.use('/users', users);
app.use('/profile',profile);

说到index.js,我这样做: -

router.get('/', function(req, res, next) {
res.render('index.html');
});

PS,我的服务器正在向index.html发送。

1 个答案:

答案 0 :(得分:1)

使用此功能,因为您正在使用快速

app.use(express.static('public'))

这将提供公用文件夹中的所有文件。将您的/angular.min.js/app.js放在那里,您的index.html应该选择它们。当然,您可以选择提供views文件夹,但其中的index.html可能会发生冲突。

确保脚本指向root,例如/angular.min.js/app.js

  1. 安装:npm install -g http-server。
  2. cd into views
  3. 运行http-server
  4. 转到浏览器中的http://localhost:8080/
  5. Nodemon用于提供服务器文件,而不是像您尝试提供的客户端文件。