2017-07-22 33 views
0

我的目录结构如下。 “ - ”显示文件夹中的单个级别。不能以正确的相对方式使用“src”标记

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

在php.ini的file_uploads文件夹我打开终端并写上“须藤nodemon应用”,我的服务器开始运行,当我去为“localhost:// 3000”,我得到两个错误,即“错误404找不到角.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服务器断绝文件,但我需要用我的快递,我可以能够服务器HTML代码angularjs代码一起。我如何实现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的。

+0

如果你的意见的文件夹被送达正确,你应该载入您的文件,如'/ angular.min.js'和'app.js' – Win

+0

在我写正在显示的内容的index.html,意味着指数。 html工程,“/angular.min.js”和“/app.js”虽然不起作用。 – Asim

+0

您需要提供服务器相关部分的来源,即提供静态文件的部分。这不会自动发生,并且您通常为文档指定根文件夹。 – jcaron

回答

1

利用这一点,因为你使用快递

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

这将服务于公众的文件夹中的所有文件。将你的/angular.min.js/app.js放在那里,你的index.html应该选择它们。当然,你可以选择提供视图文件夹,但在那里的index.html可能会发生冲突。

确保脚本从根目录指向例如, /angular.min.js/app.js

  1. 安装:npm install -g http-server。
  2. 光盘放入views
  3. 运行http-server
  4. 去​​浏览器

Nodemon被用于一个服务器文件没有客户端文件,比如你想服务。

+0

然后nodemon会为我的nodejs代码和http-server -o同时运行我的angular和html代码? – Asim

+0

@AsimRaja您将需要同时运行服务器代码时使用快递和提供文件。除非你不做服务器端渲染。然后使用上面的例子。 – Win

+0

那么,我正在做服务器端渲染。我无法找到这个问题的灵魂,我的nodemon运行可能服务器.min.js和app.js文件。 – Asim