Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 是否可以在没有web服务器的情况下使用ng include?_Angularjs - Fatal编程技术网

Angularjs 是否可以在没有web服务器的情况下使用ng include?

Angularjs 是否可以在没有web服务器的情况下使用ng include?,angularjs,Angularjs,我正在运行一个AngularJS应用程序,它只包含一个文件 <div ng-include src="'sample.html'"></div> 当在web服务器下运行时,它可以工作。但是,如果web应用程序仅通过从文件资源管理器(即,不是从web服务器)双击来运行,则不包括该文件 ng是否包括web服务器之外的工作?我在Chrome上检查了网络状态,它在方法上显示了选项,在状态上显示了加载已取消一个解决方法是内联模板: <script type="text/

我正在运行一个AngularJS应用程序,它只包含一个文件

<div ng-include src="'sample.html'"></div>

当在web服务器下运行时,它可以工作。但是,如果web应用程序仅通过从文件资源管理器(即,不是从web服务器)双击来运行,则不包括该文件


ng是否包括web服务器之外的工作?我在Chrome上检查了网络状态,它在方法上显示了选项,在状态上显示了加载已取消

一个解决方法是内联模板:

<script type="text/ng-template" id="sample.html">
  <div>This is my sample template</div>
</script>

这是我的示例模板


这会将模板放入Angular的模板缓存中。处理ng include指令时,Angular首先检查缓存。

问题是由于
文件://
协议造成的。当文件从
file://
提供时,大多数浏览器都不允许XHR请求。这就是AJAX请求失败的原因。和
ng include
使用它们下载文件

您可以使用
--允许从文件访问文件
参数启动Chrome,以禁用对
文件的检查://

如果文件在同一个文件夹中,FireFox应该加载这些文件(查看更多信息)


但我个人更喜欢启动最简单的NodeJS脚本来提供文件,这可以在项目中找到。它只需要
节点
二进制文件,给人一种普通web服务器的感觉。

您可以使用Grunt和来预编译模板以及角度代码。

我遇到了一个类似的问题,我通过运行一个简单的nodejs服务器来提供静态文件-。确保已安装,然后:

安装:

$sudo npm安装http服务器-g

然后从项目目录:

$http服务器

现在,您可以从以下位置访问文件:


localhost:8080/目录中的任何文件。html

在xampp上使用虚拟主机是最好的解决方案,并提供自定义名称,如yourProject.dev

更新
C:\xampp\apache\conf\extra\httpd vhosts中的httpd vhosts文件

<VirtualHost *:80>
        ServerName  yourProject.dev
        ServerAlias www.yourProject.dev  yourProject.com www.yourProject.com
        DocumentRoot "C:\Users\customFolder/yourProject"
        <Directory "C:\Users\customFolder/yourProject">
            DirectoryIndex index.html index.php
            ServerSignature Off
            Options Indexes FollowSymLinks IncludesNoExec
            AllowOverride All
            Allow from all
            Require all granted
      </Directory>
</VirtualHost>

ServerName yourProject.dev
ServerAlias www.yourProject.dev yourProject.com www.yourProject.com
DocumentRoot“C:\Users\customFolder/yourProject”
DirectoryIndex.html index.php
服务器签名关闭
选项索引以下符号链接包括noexec
允许超越所有
通融
要求所有授权
然后将主机文件更新为yourProject.dev
127.0.0.1

在Windows中:
c:\Windows\System32\Drivers\etc\hosts

<VirtualHost *:80>
        ServerName  yourProject.dev
        ServerAlias www.yourProject.dev  yourProject.com www.yourProject.com
        DocumentRoot "C:\Users\customFolder/yourProject"
        <Directory "C:\Users\customFolder/yourProject">
            DirectoryIndex index.html index.php
            ServerSignature Off
            Options Indexes FollowSymLinks IncludesNoExec
            AllowOverride All
            Allow from all
            Require all granted
      </Directory>
</VirtualHost>
在Mac中:
/private/etc/hosts

<VirtualHost *:80>
        ServerName  yourProject.dev
        ServerAlias www.yourProject.dev  yourProject.com www.yourProject.com
        DocumentRoot "C:\Users\customFolder/yourProject"
        <Directory "C:\Users\customFolder/yourProject">
            DirectoryIndex index.html index.php
            ServerSignature Off
            Options Indexes FollowSymLinks IncludesNoExec
            AllowOverride All
            Allow from all
            Require all granted
      </Directory>
</VirtualHost>

别忘了让您的xampp/wampp休息一下

我不认为这是关于web服务器的。我认为这更像是跨源问题。脚本是否可以有一个src属性并指向一个外部html文件?@Vishnu,不。请看——没有
src
参数。@MarkRajcok您的答案是我最近几天搜索的:)。非常感谢你!注意:我相信这必须在元素中包含
ng应用程序
。这确实是真的!我可以在Firefox中成功运行网页,但不能在Chrome中运行!非常感谢您的解释。xampp是一个web服务器。这里提出的问题是不要使用任何web服务器。