我将 aspnetboilerplate 与 Angular 和 .NET Core 一起使用。当我尝试在 Azure 上部署应用程序时,它显示:
致命错误:接近堆限制的无效标记压缩分配失败 - JavaScript 堆内存不足
这是我的天蓝色管道:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '12.x'
displayName: 'Install Node.js'
- script: |
npm install -g @angular/cli
npm install
npm run build-prod
ng build --c=production
displayName: 'npm install and build'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)/dist'
Contents: '**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
CleanTargetFolder: true
OverWrite: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Run Code Online (Sandbox Code Playgroud)
并在 package.json 文件中添加了build-prod属性。 …
我的角度应用程序托管在服务器中,其中应用程序URL为http://xyz.domain.in(示例网址)。现在,我在其中创建了子目录来托管另一个应用程序。但是,当我尝试访问类似http://xyz.domain.in/subfolder的路径时,请在控制台中获取它。
错误:无法匹配任何路线。网址段:“子文件夹”
子文件夹中的应用程序的基本href是
<base href="./subfolder">
Run Code Online (Sandbox Code Playgroud)
如何做到这一点?
我遇到问题,请帮助我解决此问题。问题是当我ng build在CLI中执行操作时,转到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
Run Code Online (Sandbox Code Playgroud) 尝试在产品模式下构建角度应用程序,但发现未知目标和环境错误。
尝试过以下:
ng build --target=production --base-href /
ng build --target=production --environment=prod
ng build --prod --env=prod
Run Code Online (Sandbox Code Playgroud)
我期望构建像 main.js、vendor.js 等文件。输出是:
Unknown option: '--target'
Unknown option: '--environment'
Run Code Online (Sandbox Code Playgroud) 我想部署一个即将完成的 Angular 项目,为了部署我执行了 ng build --prod。它创建了一个 dist,然后我将其部署到服务器上。一切都明白了,直到这里,但现在当我更改项目中的内容并执行“ngserve -o”时,我没有看到我在编写这些 console.log 消息的那些组件中设置的控制台消息,而是这些被引用来自“main.js:1”和“polyfills.js:1”。
我仍然收到这些控制台消息,但我不知道它在哪个组件中打印在控制台上。
ERROR TypeError: Cannot read property 'UserzAccessStatus' of undefined
at main.js:1
at i.<computed> (polyfills.js:1)
at e.invokeTask (polyfills.js:1)
at Object.onInvokeTask (main.js:1)
at e.invokeTask (polyfills.js:1)
at t.runTask (polyfills.js:1)
at t.invokeTask (polyfills.js:1)
at invoke (polyfills.js:1)
at r.args.<computed> (polyfills.js:1)
Run Code Online (Sandbox Code Playgroud)
package.json 文件
{
"name": "gbcl",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"start:server": "nodemon server.js"
},
"private": …Run Code Online (Sandbox Code Playgroud) 堆栈: 带有 .NET 的 Angular 12,在 Docker 容器中运行。捆绑包正在由 @angular-devkit/build-angular:browser 构建。
最后的工作设置: 该应用程序之前在 Angular 7 上运行,所有资产确实都是通过 HTTPS 提供的。
问题: 当通过 HTTPS 运行时,Angular 12 捆绑包正在提供资产,包括。通过 HTTP 的 main.js、polyfills、样式表或 favicon。这会导致包、polyfills、styles.css 和 favicons 出现以下错误:
混合内容:页面通过 HTTPS 加载,但请求不安全的 X。此请求已被阻止;内容必须通过 HTTPS 提供。
我的第一个问题是 ng 构建过程,尽管我不知道如何确定提供资源的方式(?),因此我提到了堆栈的其余部分,以便在需要时进行检查。
更新:我标记了一个答案,但这是一种解决方法,我决定采用足够好的方法,尽管应该有一个我仍然希望找到的更深入的解决方案。
有时当我尝试启动 angular-cli 命令时:
ng build --app myApplication -w
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
EBUSY: resource busy or locked, unlink 'C:\...\inline.bundle.js'
Run Code Online (Sandbox Code Playgroud)
有什么想法可以克服这个问题吗?
运行时出现错误ng build--prod。而且我也尝试运行,npm install但我也遇到了同样的错误。
ERROR in Module build failed: TypeError: Cannot read property 'replace' of undefined
at normalizeBackSlashDirection (D:\angular\blog\node_modules\webpack\lib\RequestShortener.js:15:17)
at new RequestShortener (D:\angular\blog\node_modules\webpack\lib\RequestShortener.js:25:15)
at new Compiler (D:\angular\blog\node_modules\webpack\lib\Compiler.js:136:27)
at Compiler.createChildCompiler (D:\angular\blog\node_modules\webpack\lib\Compiler.js:371:25)
at Compilation.createChildCompiler (D:\angular\blog\node_modules\webpack\lib\Compilation.js:1851:24)
at Object.pitch (D:\angular\blog\node_modules\mini-css-extract-plugin\dist\loader.js:70:43)
Run Code Online (Sandbox Code Playgroud) 更新到 Angular 15 后,我的构建过程
"build:project:prod": "ng build project --configuration prod --stats-json=true --single-bundle=true && npm run copyAssets"
Run Code Online (Sandbox Code Playgroud)
构建后没有退出,所以copyAssets甚至不启动。在终端中,我看到一个包含块文件和一行的表
Build at: 2023-02-03T15:44:54.029Z - Hash: 5837a5d758832c93 - Time: 7163ms
Run Code Online (Sandbox Code Playgroud)
整个管道因此而崩溃。如何保证整个脚本正确执行?
我正在使用 Angular Material(也称为 v15.x)库构建 Angular 应用程序 v15.x,我的主要困难是,我的初始块大于 500kb。这是包含所有优化和最新的角度+材料库的生产版本的大小。我对除登录页面之外的所有组件都使用延迟加载。
我知道:
但基本上我有点惊讶,材料的角度增长了这么多。
这个尺寸可以吗还是我漏掉了什么?谢谢
ng-build ×10
angular ×8
angular-cli ×4
javascript ×2
typescript ×2
angular12 ×1
azure ×1
build ×1
console.log ×1
docker ×1
node.js ×1
npm ×1
webpack ×1