2016-02-12 50 views
0

我将在没有互联网访问的角度项目上工作,所以我的cdn链接将不起作用。我想将angularjs库保存到我的项目中的文件夹。这是我曾尝试过的:如何在本地存储并静态提供angularjs库?

我去了cdn链接,复制了所有文本,将其粘贴到文件中,并将该文件保存为angular.min.js。然后,我在我的index.html文件中注释了cdn的脚本标记,并放入一个新的脚本标记,指定新保存的文件的路径。当我打开我的项目时,出现错误“Uncaught ReferenceError:angular is not defined。”

这里是我的项目的文件/文件夹结构的相关部分:

project 
|_core 
| |_public 
| |_app 
|  |_index.html 
|_libraries 
    |_angular.min.js 

这里是我的脚本标签:

<script src="./../../../libraries/angular.min.js"></script>

这里是链接到CDN从我复制的文本:

https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js

+0

的根看看[yeoman.io(http://yeoman.io/) –

+0

HTML链接的js文件应该留在一个易于访问的路径,在公众看来我 – vinjenzo

+0

@RossRogers yeoman看起来非常有用,但我仍然想知道为什么我的代码不工作。 – devigner

回答

1

您可以使用Grunt任务来缩小和连接所有文件。你可以阅读GruntJS的文档。很有用。

http://gruntjs.com/sample-gruntfile

看到串连部分。

如果你手动这样做,你已经检查了lib文件的顺序。 Angularjs lib需要处于顶峰。 有错误的机会。

是只包含一个你不需要的文件Grunt 如果您的文件angular.min.js正确加载,请在网络选项卡中检查chrome检查开发人员工具。如果没有,您可以更改路径并尝试,但如果它正在加载,并且仍然出现相同的错误,请创建文件的jsfiddle或plunker,以便我们可以详细查看它。

+0

我想想也许你误解了我的问题。虽然它是一个有用的工具,但对于这项任务来说,咕噜声不是必需的。 – devigner

+0

如果加载angular.min.js,你是否检查了chrome debug inspect工具?如果显示的文件没有找到,那么我认为你可以通过在index.html – Shad

1

<script src="../../../libraries/angular.min.js"></script>

这个怎么样?

+0

中更改文件路径来检查它。不幸的是,这不起作用。 – devigner

2

您是否使用任何类型的本地网络服务器?角度和许多脚本需要从http加载而不是file://。为此,您可以使用python的SimpleHTTPServer:python -m SimpleHTTPServer 8080 - 将在http://localhost:8080上打开一个http服务器,在浏览器中打开url并且您应该很好。还要注意,在HTML中加载脚本的顺序非常重要,而Angular需要在所有使用它的代码模块之前加载。

1

你刚刚试过这个吗?

<script src="/libraries/angular.min.js"></script> 

也许您的服务器启动网站(本地主机:80)从项目