You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(@ngtools/webpack): add Ivy linker setup documentation to readme
When not using the Angular CLI, the Babel-based Ivy linker is also required to successfully build an application. A section describing the setup of the linker in addition to the Angular compiler plugin has now been included with links to the AIO documentation and the babel-loader for additional information.
(cherry picked from commit f595936)
Copy file name to clipboardExpand all lines: packages/ngtools/webpack/README.md
+40Lines changed: 40 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,9 @@
1
1
# Angular Compiler Webpack Plugin
2
2
3
3
Webpack 5.x plugin for the Angular Ahead-of-Time compiler. The plugin also supports Angular JIT mode.
4
+
When this plugin is used outside of the Angular CLI, the Ivy linker will also be needed to support
5
+
the usage of Angular libraries. An example configuration of the Babel-based Ivy linker is provided
6
+
in the linker section. For additional information regarding the linker, please see: https://v13.angular.io/guide/creating-libraries#consuming-partial-ivy-code-outside-the-angular-cli
4
7
5
8
## Usage
6
9
@@ -13,6 +16,7 @@ exports = {
13
16
/* ... */
14
17
module: {
15
18
rules: [
19
+
/* ... */
16
20
{
17
21
test:/\.[jt]sx?$/,
18
22
loader: '@ngtools/webpack',
@@ -23,6 +27,7 @@ exports = {
23
27
plugins: [
24
28
newAngularWebpackPlugin({
25
29
tsconfig: 'path/to/tsconfig.json',
30
+
// ... other options as needed
26
31
}),
27
32
],
28
33
};
@@ -38,3 +43,38 @@ The loader works with webpack plugin to compile the application's TypeScript. It
38
43
-`directTemplateLoading`[default: `true`] - Causes the plugin to load component templates (HTML) directly from the filesystem. This is more efficient if only using the `raw-loader` to load component templates. Do not enable this option if additional loaders are configured for component templates.
39
44
-`fileReplacements`[default: none] - Allows replacing TypeScript files with other TypeScript files in the build. This option acts on fully resolved file paths.
40
45
-`inlineStyleFileExtension`[default: none] - When set inline component styles will be processed by Webpack as files with the provided extension.
46
+
47
+
## Ivy Linker
48
+
49
+
The Ivy linker can be setup by using the Webpack `babel-loader` package.
50
+
If not already installed, add the `babel-loader` package using your project's package manager.
51
+
Then in your webpack config, add the `babel-loader` with the following configuration.
52
+
If the `babel-loader` is already present in your configuration, the linker plugin can be added to
53
+
the existing loader configuration as well.
54
+
Enabling caching for the `babel-loader` is recommended to avoid reprocessing libraries on
55
+
every build.
56
+
For additional information regarding the `babel-loader` package, please see: https://github.com/babel/babel-loader/tree/main#readme
0 commit comments