2013-12-14 45 views
1

我开始学习JS,目前我正在致力于Require.js。 这里是交易,我有简单的HTML页面和JS在它:Requirejs main.js找不到

<script data-main="js/main.js" src= "js/lib/require.js" type="text/javascript"></script> 

我真的有在根/ JS文件夹main.js,但由于某种原因页面寻找主。 js在根。错误:

*Failed to load resource file:///work/programs/brackets/4proj/main.js* 

如果我把main.js根(数据主要=“主”)都将如预期,但我不希望有很多* JS的根,甚至2个js文件。我在require.js的例子中看到它是可能的,但我没有成功。

我已经试过:

/js/main.js 
./js/main.js 
//js/main.js 

并没有扩展名都是一样的。它仍然无法正常工作。

这里是项目结构。 项目文件夹 - 4prog/

  • /JS
  • /JS/lib中/ < - 的jquery.js,require.js
  • /CSS
  • 的index.html

附:我正在使用Ubuntu +括号+铬。

+1

你能更清楚地描述你的目录结构吗?另外,你有没有尝试从'data-main'中删除'.js'? –

+0

是的,我试图删除.js。它没有帮助。 问题是,页面想要从4prog(根目录)加载main.js。我想使它从/js/main.js加载main.js –

+1

使用'file:'URI在处理动态加载任何事情时会导致大量的陷阱。在没有Web服务器的环境中进行开发确实不值得。 – Quentin

回答

1

从文档:

http://requirejs.org/docs/api.html#jsfiles

的.js确实有意思是要求 - 这使得它表现得像一个绝对路径。

所以前缀加“/”。

你没有明确提到试图

<script data-main="js/main" src= "js/lib/require.js" type="text/javascript"></script> 

这是我的系统是什么在起作用(从文件!),所以我只能假设,要么你有别的事情,或者你没有尝试过。

你没有提到你的require,你的操作系统或你的浏览器的版本,所以这可能是它,但更有可能的是试图做一个绝对路径与要求是让你搞砸了,而无需从网络服务器。

+0

谢谢,多数民众赞成有帮助。 我知道它可以是任何东西,因为我的ubuntu,括号+铬。 谢谢@Jim。我会尝试使用网络服务器。 –