我遇到问题,请帮助我解决此问题。
问题是,当我在CLI中执行ng build
并转到dist文件夹并运行index.html文件,以便控制台获取文件路径错误时。
Failed to load resource: net::ERR_FILE_NOT_FOUND
polyfills.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
styles.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
scripts.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
vendor.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
main.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
/D:/favicon.ico:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
答案 0 :(得分:3)
它仅与路径有关,只需在构建时使用 -base-href 标志-
unsigned long long int
现在,它会在 index.html -
中生成类似于以下内容的行ng build --prod --base-href ./
就是这样!它随处可见,您只需要部署生产版本就可以了!
另外,请注意,如果您尝试直接从文件中运行index.html,它将无法正常运行。您需要将其放置在http服务器上(例如,XAMPP用于本地)
答案 1 :(得分:0)
base
属性的默认href
对于有角cli项目定义为/
。如果您正在构建项目并通过直接打开index.html文件来访问它,则HTML要加载的所有.js
都将从'/' directory
加载。
例如,如果您使用的是Windows,并且您的版本位于C:\users\xys\ng\dist\index.html
中,并且您拥有
<script type="text/javascript" src="runtime.js"></script>
在HTML中,浏览器将在.js
中查找C:\runtime.js
文件。
要解决此问题,您可以将所有文件复制到驱动器的根目录(不建议使用),也可以创建本地服务器,然后为该服务器上的静态文件提供服务器(首选方法)。