我正在开发一个 Angular JS 项目。基本上它是一个带有 Angular JS、HTML、Bootstrap 等的购买主题。当我试图直接在浏览器上运行它时它就坏了。但是当我在我的本地服务器上运行相同的,它工作正常。
当我们使用 PHP、.NET 等服务器端语言进行项目时,我了解设置本地服务器的重要性。我真正困惑的是,为什么我们需要设置本地服务器来运行 javascript 或任何 javascript 框架?
提前致谢。
我正在开发一个 Angular JS 项目。基本上它是一个带有 Angular JS、HTML、Bootstrap 等的购买主题。当我试图直接在浏览器上运行它时它就坏了。但是当我在我的本地服务器上运行相同的,它工作正常。
当我们使用 PHP、.NET 等服务器端语言进行项目时,我了解设置本地服务器的重要性。我真正困惑的是,为什么我们需要设置本地服务器来运行 javascript 或任何 javascript 框架?
提前致谢。
它发生在我身上。我明白了,当你直接运行一个js项目时,一些依赖的地址会改变。例如,您的索引位于 c://www 目录中。如果你想打开一个 html 文件,它在路由中的地址在 c://www/public/... 路由会有所不同。因为在服务器上运行时 www 目录正在运行,而您的主目录就是 . 但是当您直接运行时,您的主目录就是您的索引文件所在的位置...
我想通过在本地计算机上访问“file:///C:/TempProjects/GameOfCards/index.html#/”来完成这些示例,但大多数浏览器无法访问本地计算机上的这些文件,这会导致跨域问题。这里有一个描述此问题的StackOverflow 问题和答案: Cross origin requests(CORS) is only supported for HTTP but it's not cross-domain。所以我们需要一个网络服务器
还有另一种方法,通过在浏览器中添加一个开关(在本例中为 chrome)-
--allow-file-access-from-files
但是,我建议,运行一个简单的服务器是处理事物的最佳方式。希望能帮助到你。快乐编码。