首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 ng build 构建后资源地址引用错误问题

最近使用 Angular 做项目的时候,通过 ng build 打包后资源地址都带有 localhost:4200,百思不得其解,以为是打包问题。...最后在 index.html 文件中发现有一个 base 标签,原来这个标签会在页面的所有链接上添加默认地址。以下是详细说明: 标签为页面上所有链接规定默认地址或默认目标。...通常情况下,浏览器会从当前文档 URL 中提取相应元素来填写相对 URL 中空白。 使用 标签可以改变这一点。...浏览器随后将不再使用当前文档 URL,而使用指定基本 URL 来解析所有的相对 URL。这其中包括 、、、 标签中 URL。...注意:添加标签之后,对于使用相对路径接口请求地址也会改变,所以要慎重使用。

67920
您找到你想要的搜索结果了吗?
是的
没有找到

使用 ng build 构建后资源地址引用错误问题

最近使用 Angular 做项目的时候,通过 ng build 打包后资源地址都带有 localhost:4200,百思不得其解,以为是打包问题。...最后在 index.html 文件中发现有一个 标签,原来这个标签会在页面的所有链接上添加默认地址。以下是详细说明: 标签为页面上所有链接规定默认地址或默认目标。...通常情况下,浏览器会从当前文档 URL 中提取相应元素来填写相对 URL 中空白。 使用 标签可以改变这一点。...浏览器随后将不再使用当前文档 URL,而使用指定基本 URL 来解析所有的相对 URL。这其中包括 、、、 标签中 URL。...注意:添加 标签之后,对于使用相对路径接口请求地址也会改变,所以要慎重使用。

91500

玩转 Angular 环境变量

随着前后端分离开发方式普及,越来越多公司采用 Angular、React 和 Vue 等前端 MV* 框架来开发 SPA 应用程序。...通过上面的注释,我们知道在执行 ng build ---prod 命令,进行项目构建时候,会执行文件替换操作。...,我们通过以下命令进行项目构建: $ ng build --prod 那么有的同学,可能想到对于构建测试环境包,是不是只要运行: $ ng build --test 想象中很完美,但实际上并不是这样,...ng build 命令并不支持 --test 参数,感兴趣同学可以运行 ng build --help 命令查看 ng build 命令所支持参数: usage: ng build <project...其实 ng build 命令支持很多参数,上面我们只是列出了常用几个。

3.1K20

Angular 应用里 index.html 作用

index.html 位于应用程序 src 文件夹中。 编译器在此文件末尾动态添加所有 javascript 文件。...除此之外,Webpack(在许多插件帮助下)将项目代码和资产转换为 JavaScript 包。 这些包包含应用程序所有代码,以及第三方代码(例如 Angular 和应用程序可能使用其他库)。...当使用 ng build --prod 构建应用时,还会生成如下 artifacts: 包名称后看似随机字符串是哈希值,添加在此处是为了清除缓存。...也就是说,确保 Web 浏览器使用更新后内容,而不是之前在本地存储版本。 通常,如果应用程序内容没有改变,那么即使多次构建,这些 hash 字符串也将保持不变。...main.js:应用程序代码和开发人员导入所有内容 vendor.js:应用依赖第三方代码 polyfills.js:允许在旧环境中使用新功能 polyfill(例如,在过时 Web 浏览器上使用

2.2K20

Angular 应用里 vendor.js 是用来干什么

以 SAP 电商云 UI Angular 页面为例,这个 vendor.js 有超过 17 万行代码: 此文件包含导入您应用程序 (app.module) 所有库,包括 Angular 库。...导入到您应用程序第三方库也会被编译到此文件中(例如 lodash、moment 等)。 这个文件在开发编译(ng build)之后很大,因为它包含在浏览器中编译 Angular 所需一切。...在将您应用程序发布到生产环境之前,始终运行 prod 构建 (ng buildprod)。 prod 构建运行 Ahead of Time (AoT) 编译并执行 tree-shaking。...main.js 包含应用程序 action 相关代码,比如 Effect 实现。 同样 effect 实现,在 vendor.js 里找不到。...在构建过程中编译您应用程序可在浏览器中提供更快渲染。 除了上面的内容,vendor bundle JS 还包含什么?制作“供应商捆绑包”。供应商包包含每个应用程序功能所依赖所有框架和库。

1.8K10

在生产环境中调试 Angular 应用程序而不显示源映射

当我们 Angular 应用程序部署到生产环境时,我们经常会遇到与我们在开发过程中编辑不同代码。我们代码在构建过程中会以各种方式进行修改和优化。...我们有完整源映射,可以轻松调试我们代码。 让我们检查一下 Angular 中生产构建在源映射方面的行为。我们可以使用以下命令运行 prod 构建。...ng build --prod 该 dist 文件夹现在包含没有 source map 捆绑文件。让我们切换到该dist文件夹并在 HTTP 服务器上运行该应用程序,以了解它在生产中外观。...要启用源映射,我们需要将 sourceMap 属性更改为 true或通过传递 --source-map 给我们 ng build 命令来覆盖它。..."build:sourcemaps": "ng build --prod --output-path=localSourceMaps" 我们现在可以使用 Chrome 开发工具从本地文件系统上传源映射。

3.6K20

Angular 开发中 Source Map

SourceMaps Demystified (.js.map) 当我们构建 Angular 应用程序时,会创建 js 文件和 .js.map(源映射文件)文件。...ng build --prod - 生产构建 - 没有源映射 ng build - dev build - 存在源映射 从技术上讲,源映射只是一个包含以下字段 JSON 文件: version:表示源映射规范版本...Dev Build vs Production Build 正如我们所知,dev build 默认遵循 jit 编译,它创建映射文件,但在生产构建中遵循 aot 编译,不会创建映射文件。...让我们尝试在没有 sourcemap 文件情况下运行项目,这类似于生产构建,因为在生产构建中我们将没有映射文件。 ng serve --sourceMap=false 我们在哪里设置断点?...我们需要手动在转换后 JavaScript 文件中找到我们函数,这很麻烦。

2.5K30

angular-cli.json配置参数解释,以及依稀常用命令通用关键参数解释

": [ // 引入全局样式,构建时会打包进来,常用于第三方库引入样式 "styles.css" ], "scripts": [ // 引入全局脚本,构建时会打包进来...--base-href 指定站点起始路径,如果你希望你站点根路径为www.abc.com/mypath/,需要这样设置:ng build --base-href /mypath/ 6....--target 指定构建目标,默认值是development,如果指定为production,构建时会加入treeshaking、代码压缩混淆等。...下面两条等价: ng build --target=production ng build --prod 7.--environment 指定应用执行环境。...下面两句等价: ng build --environment=prod ng build --env=prod 构建时会加载angular-cli.json指定环境配置文件: "environments

1.6K30

使用 Angular Transfer State 一个具体例子

因为我们希望我们应用程序是可抓取和可索引,所以我们使它通用:城市页面在服务器上呈现,存储为 HTML 文件并由 HTTP 服务器提供服务。...这些页面将包含浏览器应用程序,因此用户可以在加载第一页后使用 Angular 强大功能继续在应用程序中导航。 您可以按照以下步骤尝试这个简单示例。...$ git checkout initial 构建程序: $ npm install $ ng build -prod $ ng build -prod -app server --output-hashing...它可以将数据从应用程序服务器端传输到浏览器应用程序。 为此,服务器应用程序将在它生成 HTML 页面中添加我们要传输数据。...包含在此生成 HTML 页面中浏览器应用程序将能够读取此数据。 在这个分支查看解决方案。

71320

使用 Angular Transfer State 一个具体例子

因为我们希望我们应用程序是可抓取和可索引,所以我们使它通用:城市页面在服务器上呈现,存储为 HTML 文件并由 HTTP 服务器提供服务。...这些页面将包含浏览器应用程序,因此用户可以在加载第一页后使用 Angular 强大功能继续在应用程序中导航。 您可以按照以下步骤尝试这个简单示例。...使用下列命令将这个例子 clone 到本地: $ git clone https://github.com/feloy/ng-demo-transfer-state $ cd ng-demo-transfer-state...$ git checkout initial 复制代码 构建程序: $ npm install $ ng build -prod $ ng build -prod -app server --output-hashing...它可以将数据从应用程序服务器端传输到浏览器应用程序。 为此,服务器应用程序将在它生成 HTML 页面中添加我们要传输数据。 包含在此生成 HTML 页面中浏览器应用程序将能够读取此数据。

64900

Angular 工具篇之分析包大小

: $ npm i webpack-bundle-analyzer --save-dev 接下来我们使用 Angular CLI 来构建项目,在构建时候,需要添加相关参数,具体如下: $ ng build...--prod --stats-json 当项目构建完成后,在根目录下 dist 文件夹下会生成一个 stats.json 文件,然后我们可以通过以下命令来查看 webpack 打包文件大小信息:...在 angular6-example-app 项目中,也为我们提供了相应 npm script,具体如下: "bundle-report": "ng build --prod --stats-json...首先我们先来在当前项目中安装 source-map-explorer: $ npm i source-map-explorer --save-dev 然后在重新进行项目构建: $ ng build --...为了方便操作,我们也可以定义一个 npm script 任务来处理上述工作: "map-explorer": "ng build --prod --source-map && source-map-explorer

2.2K40
领券