Tambahkan Angular 15 File Hilang

Tambahkan Angular 15 File yang Hilang (Lingkungan, Karma, Tes, dan Polyfill)

Angular 15 telah dirilis dengan banyak fitur baru yang menarik

tetapi satu hal yang saya temukan orang-orang mengeluh, bahwa ada beberapa file yang hilang sekarang ketika Anda menggunakan ng newatau npm init @angular@latestsementara itu untuk alasan yang baik — untuk membuat proyek baru menjadi sederhana — beberapa orang memerlukan beberapa atau semuanya kembali, dalam artikel ini saya akan membantu Anda memulihkan masing-masing, tetapi harap lakukan hanya jika perlu

1. file lingkungan

ini mungkin perubahan yang paling mencolok, karena semua orang menggunakannya untuk URL API, pertanyaannya di sini sebelum kita membahas cara memulihkannya, apakah Anda memiliki satu URL API untuk produksi dan lokal (atau lebih, lokal, dev, stg , produk…)

jika jawaban Anda adalah tidak dan Anda selalu menggunakan hanya satu tautan, maka jangan khawatir, buat saja environment.tsfile sederhana dan ekspor semua variabel yang Anda gunakan, tetapi abaikan production: false | trueyang ada di sana

jika jawabannya ya maka Anda akan membutuhkan sedikit usaha, tetapi tetap sangat mudah

buat Anda environment.tsdan environment.prod.tsseperti sebelumnya dan abaikan lagiproduction: false | true

lalu di angular.jsonfile di dalamnya project/projects/project-nam/architect/build/configurations/productiontambahkan baris-baris ini

"fileReplacements": [
  {
    "replace": "src/environments/environment.ts",
    "with": "src/environments/environment.prod.ts"
  }
]

untuk membaca lebih lanjut tentang itu, silakan kunjungi Dokumentasi Angular

2. berkas karma

karma.conf.jsfile juga tidak ada - orang biasanya mengubahnya untuk menambahkan cakupan kode - jadi sekali lagi setelah menambahkannya Anda perlu mengubah angular.jsonfile di dalamnya /projects/learn-ngrx/architect/test/optionsdan menambahkan

"options": {
  ...
  "karmaConfig": "karma.conf.js"
}

// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: {
      jasmine: {
        // you can add configuration options for Jasmine here
        // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
        // for example, you can disable the random execution with `random: false`
        // or set a specific seed with `seed: 4321`
      },
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    jasmineHtmlReporter: {
      suppressAll: true // removes the duplicated traces
    },
    coverageReporter: {
      dir: require('path').join(__dirname, './coverage/learn-ngrx'),
      subdir: '.',
      reporters: [
        { type: 'html' },
        { type: 'text-summary' }
      ],
      check: {
        global: {
          statements: 80,
          branches: 80,
          functions: 80,
          lines: 80
        }
      }
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false,
    restartOnFileChange: true
  });
};

3. Berkas percobaan

file test.tstersebut lebih jarang untuk dimodifikasi, dan dalam beberapa kasus lebih baik menambahkan skrip daripada memodifikasinya, jika misalnya Anda ingin gagal jika ada kesalahan, Anda harus menambahkan file (mis. fail-on-error.js) dengan

console.error = function(message?: any): void {
    fail(`Test contained console error:\n${message}`);
};

"options": {
  ...
  "scripts": ["fail-on-error.js"]
}

"options": {
  "main": "src/test.ts",
  ...
}

// This file is required by karma.conf.js and loads recursively all the .spec and framework files

import 'zone.js/testing';
import { getTestBed } from '@angular/core/testing';
import {
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';

declare const require: {
  context(path: string, deep?: boolean, filter?: RegExp): {
    <T>(id: string): T;
    keys(): string[];
  };
};

// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting(),
  { 
    errorOnUnknownElements: true,
    errorOnUnknownProperties: true
  }
);

// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().forEach(context);

itu polyfills.tsjuga dihapus, saya percaya itu adalah file yang paling tidak dimodifikasi, tetapi tim Angular telah memberi kami alternatif yang lebih baik untuk menambahkan jalur polyfill langsung ke angular.jsonfile

misalnya jika mau core-js/actual/array/from, Anda bisa memodifikasi /projects/nutritionApp/architect/build/options/polyfillsmenjadi

"polyfills": [
  "zone.js",
  "core-js/actual/array/from"
],

5.browserlistrc

Sebenarnya ini mudah, buat saja .browserslistrcfile itu di root proyek dan itu saja, baca Dokumentasi Angular untuk info lebih lanjut

Lebih banyak konten di PlainEnglish.io . Mendaftar untuk buletin mingguan gratis kami . Ikuti kami di Twitter , LinkedIn , YouTube , dan Discord . Tertarik dengan Peretasan Pertumbuhan? Lihat Sirkuit .

Suggested posts

Belajar di Minggu Kerja lebih penting daripada yang Anda pikirkan

Belajar di Minggu Kerja lebih penting daripada yang Anda pikirkan

Kita sering menemukan diri kita berjuang untuk menerapkan apa yang kita tahu baik untuk kita. Dari memberi tahu orang penting bahwa kita mencintai mereka hingga mengingat untuk berbicara seperti bajak laut, akan selalu ada orang yang mengklaim bahwa acara sehari, seminggu, atau sebulan tidak diperlukan karena mereka sudah melakukan hal-hal itu.

Kebohongan Koboi

Bagaimana perusahaan besar menjual kebohongan besar kepada orang Amerika

Kebohongan Koboi

Ini adalah pagi keemasan yang cemerlang di perbukitan barat, saat sinar pertama matahari menyinari rerumputan beku di dataran. Kawanan sapi Angus yang tenang, hitam legam dan besar, membentuk siluet melawan matahari terbit saat mereka menyusuri jalan setapak menuju lokasi yang mereka semua kenal dengan baik; bar sarapan.

Related posts

Mendanai penghapusan karbon di FY24

Rincian permintaan alokasi Carbon180 di seluruh jalur

Mendanai penghapusan karbon di FY24

Oleh Alyson Lee, penasihat urusan pemerintah yang mengelola Proses alokasi tahunan pemerintah federal merupakan inti dari upaya kami untuk mendanai penghilangan karbon dioksida (CDR). Setiap tahun, Carbon180 mengajukan permintaan ke berbagai kantor kongres untuk membantu mengarahkan ke mana dolar tahun depan akan mengalir.

Penganiayaan Umat Kristiani: Kejahatan Kebencian yang Tidak Kita Bicarakan

Lupakan Islamofobia: Kristen (dan Yahudi) adalah korban utama kejahatan kebencian agama.

Penganiayaan Umat Kristiani: Kejahatan Kebencian yang Tidak Kita Bicarakan

Pikiran rasional mana pun tahu bahwa lingkaran politik dan media didominasi oleh kiri, bahkan paling kiri, suatu keadaan yang menciptakan ketidakseimbangan dalam wacana politik. Di bidang agama, ketidakseimbangan ini terlihat jelas: surat kabar dan jaringan sayap kiri tidak terburu-buru membela iman Kristen.

Memikirkan Kembali Media: Lima Kebenaran McChesney dan Masa Depan Komunikasi

Di dunia yang sangat terhubung saat ini, sistem media memainkan peran penting dalam membentuk opini publik, dan akibatnya, dalam pengambilan keputusan yang demokratis. Dalam analisisnya yang mendalam tentang ekonomi politik komunikasi, cendekiawan Robert McChesney menantang kebijaksanaan konvensional dan menyajikan apa yang disebutnya sebagai “lima kebenaran” tentang media.

Mengapa beberapa pekerja lepas memalsukan hidup mereka

Mengapa beberapa pekerja lepas memalsukan hidup mereka

Saya baru-baru ini berada di Linkedin, jejaring sosial profesional terbesar di dunia, dan menemukan postingan dari desainer lepas yang saya ikuti yang menarik perhatian saya. Mereka semua memposting foto dari pesawat terbang, di pantai dengan laptop mereka, dari kolam renang, dan kantor dengan pemandangan menakjubkan.