Webpack动态/延迟导入块位置

ztmd8pv5  于 2022-11-24  发布在  Webpack
关注(0)|答案(1)|浏览(166)

有没有办法指定webpack块路径?我使用的是Angular 9。我按照How do I dynamically import locales in Angular 9?中的说明进行操作,但是我尝试加载所有的语言环境,所以我最终得到了数千个文件。这没关系,因为大多数人不会使用这些文件,所以除非有人选择了语言环境,否则它们永远不会被加载,如果他们选择了一个,它只会加载一个小文件。
我的问题是所有这些分块都是在同一个文件夹中生成的,这使得它更难管理。我想把所有分块的语言环境文件放到一个叫做locales的子文件夹中。有人知道怎么做吗?我找不到任何其他的魔法注解来做这件事。

private localeInitializer(localeId: string): Observable<any> {
    return from(import(
      /* webpackExclude: /\.d\.ts$/ */
      `@angular/common/locales/${localeId}.js`
    ).then(module => registerLocaleData(module.default)));
  }
yyhrrdl8

yyhrrdl81#

我们使用以下内容:

/* webpackExclude: /\.d\.ts$/, webpackMode: "lazy", webpackChunkName: "locale-[request]" */

我想知道你是否可以在webpackChunkName之前使用/folder-name/
如果上面的方法不起作用,您就必须使用某种构建任务来将它们移出(比如Gulp)。您可以为JavaScript文件名添加前缀(请参阅上面我如何为locale-添加前缀),然后通过glob查找所有文件,然后将它们移到一个文件夹中。
https://webpack.js.org/api/module-methods/#magic-comments
看着webpack文档,他们没有一个魔术般的评论,分裂成一个文件夹。

相关问题