Я пытаюсь использовать Tree-shaking для приложения Angular 2 после компиляции AOT и получаю следующее сообщение:
«Containers/module.ngfactory» импортируется Containers\module.aot.js, но не может быть разрешен — рассматривается как внешняя зависимость
Не было указано имя для внешнего модуля «Containers/module.ngfactory» в options.globals — предположение «Containers_module_ngfactory»
И я не знаю, как это исправить.
это код module.aot.js после компиляции AOT:
import { enableProdMode } from '@angular/core';
enableProdMode();
import { platformBrowser } from '@angular/platform-browser';
import { ModuleNgFactory } from 'Containers/module.ngfactory';
platformBrowser().bootstrapModuleFactory(ModuleNgFactory);
//# sourceMappingURL=module.aot.js.map
rollup-config.js
'use strict';
import nodeResolve from 'rollup-plugin-node-resolve'
import commonjs from 'rollup-plugin-commonjs';
import uglify from 'rollup-plugin-uglify'
export default {
entry: './Containers/module.aot.js',
dest: './module.vendor.js',
sourceMap: false,
format: 'iife',
onwarn: function(warning) {
// Skip certain warnings
if ( warning.code === 'THIS_IS_UNDEFINED' ) { return; }
if ( warning.code === 'EVAL' ) { return; }
console.warn( warning.message );
},
plugins: [
nodeResolve({jsnext: true, module: true}),
commonjs({
include: 'node_modules/rxjs/**',
}),
uglify()
]
}
и tsconfig-aot.json
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es2015", "dom" ],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"baseUrl": ".",
"paths": {
"app/*": [ "../src/*" ]
},
"typeRoots": [
"../node_modules/@types"
]
},
"files": [
"../src/globals.ts",
"../src/Containers/module.aot.ts"
],
"exclude": [
"node_modules",
"typings"
],
"angularCompilerOptions": {
"genDir": "../",
"skipMetadataEmit": false,
"skipTemplateCodegen": false
}
}
В целом AOT работает нормально, но я не могу запустить tree-shaking для связки своего кода в один файл.
Помогите пожалуйста решить эту проблему.
UPD
Проблема только с основным файлом module.aot.js.
Любое предложение, как решить эту проблему?