【问题标题】:Angular configure or compile JSON assetAngular 配置或编译 JSON 资产
【发布时间】:2020-07-28 08:28:35
【问题描述】:

是否可以在 Angular 中或通过 custom-webpack 插件的帮助在将 JSON 资产复制到资产文件夹之前对其进行转换。我有一个 JSON 文件,我想先在其中转换一些值,然后再将其放入资产文件夹。我尝试使用CopyWebpackPlugin,但它似乎不适用于资产。

我要做的是从src 获取一个JSON,在编译期间替换该JSON 中的一些值,然后将其放入dist/<...>/assets 下的目标位置。

【问题讨论】:

    标签: angular webpack angular-compiler


    【解决方案1】:

    这个问题其实可以通过copy-webpack-plugin来解决。需要注意的是,Angular 编译器将在 copy-webpack-plugin 运行后复制资产。我观察到的问题是copy-webpack-plugin 复制的文件被原始资产文件覆盖。为确保原始资产模板文件不会覆盖由copy-webpack-plugin 复制和转换的文件,需要执行以下步骤:

    1. 使用 angular.json 中的 asset configuration 以使用扩展的资产表单从资产中排除源文件(可以先将源文件重命名为 foo.tpl.json 之类的名称):

      { "glob": "**/*", "input": "./assets", "output": "dist/assets",
        "ignore": [ "**/foo.json" ]
      }
      
    2. 通过copy-webpack-plugin 复制和转换文件,这可以使用custom-webpack 插件通过将copy-webpack-plugin 作为附加插件添加到webpack 配置来实现。

    【讨论】:

      【解决方案2】:

      使用它

      https://www.npmjs.com/package/json-server

      下载链接和文档链接是一样的

      [顺便说一句,如果您需要非常复杂的查询 - 只需使用 GolangPostgreSQL。没有限制(但你必须使用 postgreSQL 数据库而不是 .json 文件)]

      【讨论】:

      • 不幸的是,这不是我想要的。我只需要它来编译生产模式构建。在运行时 JSON 是静态的,即在编译之后 JSON 将不再更改。我需要一些解决方案来使用配置数据,例如来自环境变量的数据并将其编译到资产中。 JSON 本身将由应用程序使用的任何网络服务器提供服务。
      猜你喜欢
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      相关资源
      最近更新 更多