8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

构建生产角度应用程序时,外部库停止工作

Ramadita 1月前

33 0

您好,我正在开发一款使用 leaflet.heat 库的应用程序。要使用它,必须按如下方式导入:import * as L from 'leaflet';import 'leaflet.heat';...// 然后就可以使用了...

您好,我正在开发一个使用该库的应用程序 leaflet.heat 。要使用它,必须按如下方式导入:

import * as L from 'leaflet';
import 'leaflet.heat';

...
// Then it can be used:
  private addHeatmapToMap(heatmapData: L.HeatLatLngTuple[]) {
   ...
    let heatmap = L.heatLayer(heatmapData, { radius: 10, max: 200, gradient: { 0.1: 'yellow', 0.4: 'orange', 0.6: 'red', 0.8: 'white' }, minOpacity: 0.8 });
   ...
  }

使用时,此方法可按预期工作 ng serve 。但是,当构建应用程序以在 docker 容器中使用时, ng build --configuration production --output-path=/dist 其派生的功能 L. 依赖于 的导入 leaflet.heat 停止工作。

我的第一个猜测是,angular 在构建过程中删除了导入,因为在组件中没有直接使用该导入,但我不知道如何指示 angular 不这样做。

使用的版本为:

    angular 18:
    ...
    "leaflet": "^1.9.4",
    "leaflet.heat": "^0.2.0",
    ...
    "@types/leaflet": "^1.9.12",
    "@types/leaflet.heat": "^0.2.4",

Dockerfile:

#################
# Build the app #
#################
FROM node:22-alpine AS build

WORKDIR /app

RUN npm install -g @angular/cli

COPY package.json package-lock.json ./
RUN npm install --fetch-timeout=600000 
COPY . .

RUN ng build --configuration production --output-path=/dist

################
# Run in NGINX #
################
FROM nginx:alpine

COPY --from=build /dist/browser /usr/share/nginx/html
COPY --from=build /app/nginx.conf /etc/nginx/nginx.conf

# When the container starts, replace the env.js with values from environment variables
CMD ["/bin/sh",  "-c",  "envsubst < /usr/share/nginx/html/assets/environment/env.template.js > /usr/share/nginx/html/assets/environment/env.js && exec nginx -g 'daemon off;'"]
帖子版权声明 1、本帖标题:构建生产角度应用程序时,外部库停止工作
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Ramadita在本站《angular》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 它似乎不起作用。它在构建时永远找不到脚本。我对传单的图像也有类似的情况,但那里没有问题。

返回
作者最近主题: