Angular esbuild中的自定义webpack配置

57hvy0tb  于 2024-01-08  发布在  Webpack
关注(0)|答案(1)|浏览(336)

目前,我的Angular项目使用自定义Webpack配置文件。

  1. "builder": "@angular-builders/custom-webpack:browser",
  2. "options": {
  3. "allowedCommonJsDependencies": [
  4. ...
  5. ],
  6. "customWebpackConfig": {
  7. "path": "./angular-webpack.config.js",
  8. "mergeRules": {
  9. "module": {
  10. "rules": "prepend"
  11. }
  12. }
  13. },

字符串
在我的自定义配置中,我使用了mt build中的一些自定义环境变量。
但是我想转到esbuild,但是问题是我找不到任何好的/明显的方法来为Angular定制esbuild配置。

  1. let DefinePlugin = require('webpack/lib/DefinePlugin');
  2. let OS = require('os');
  3. module.exports = {
  4. plugins: [
  5. new DefinePlugin({
  6. VERSION: JSON.stringify(process.env.VERSION || OS.hostname()),
  7. URL: JSON.stringify(process.env.URL || ''),
  8. }),
  9. ],
  10. }


对于我应该如何为Angular esbuild实现自定义环境变量的任何帮助或提示都是非常感激的。
谢谢

j8ag8udp

j8ag8udp1#

这是供您使用的示例代码
您可以像这样创建build.js文件

  1. const esbuild = require('esbuild');
  2. esbuild
  3. .build({
  4. entryPoints: [''], // you need to define you entry point file. For example index.ts
  5. outdir: './public/js',
  6. bundle: true,
  7. minify: true,
  8. sourcemap: true,
  9. format: 'esm',
  10. tsconfig: './tsconfig.json',
  11. define: {
  12. 'process.env.VERSION': '"1.0.0"',
  13. 'process.env.URL': '"http://google.com"'
  14. }
  15. })
  16. .then(() => console.log('Done'))
  17. .catch(() => {
  18. process.exit(1);
  19. });

字符串
然后就可以在代码中调用env var了

  1. const url = process.env.URL;
  2. const version = process.env.VERSION;

展开查看全部

相关问题