Escolar Documentos
Profissional Documentos
Cultura Documentos
Contents
1 Introducción 1
2 Pasos a Seguir 1
2.1 Instalar NODE . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Instalar Angular de Manera Global . . . . . . . . . . . . . . . 2
2.3 Crear Proyecto Angular y Activar Webpack . . . . . . . . . . 2
2.4 Instalar Paquetes de Webworkers . . . . . . . . . . . . . . . . 3
2.5 Cambio de modulos en hilo del bootstrap . . . . . . . . . . . 3
2.6 Cambiar el algoritmo de llamada principal . . . . . . . . . . . 3
2.7 Crear Archivo workerLoader.ts . . . . . . . . . . . . . . . . . 4
2.8 Actualizar webpack para construir el webworker . . . . . . . . 4
1 Introducción
Angular mantiene a lo largo de sus versiones algunos cambios, por lo que
activar webworkers diere levemente entre la versión 2+ y la 5 (actual a
16/02/2018).
Los webworkers permiten gestionar el procesamiento de la información
utilizando los núcleos del computador. Con esto es posible obtener una UI
uida mientras el resto de los procesadores hace el trabajo pesado.
2 Pasos a Seguir
Siguiente el tutorial disponible en Angularindepth artículo
1
2.1 Instalar NODE
./configure
make -j 4
make test
sudo npm install --save @angular/platform-webworker @angular/platform-webworker-dynamic
ng new AngApp
cd AngApp
npm install
npm install angular webpack --save-dev
ng eject
=======================================================================================
Ejection was successful.
=======================================================================================
2
2.4 Instalar Paquetes de Webworkers
@NgModule({
declarations: [
AppComponent
],
imports: [
WorkerAppModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
if (environment.production) {
enableProdMode();
}
3
bootstrapWorkerUi('webworker.bundle.js');
//...some stuff...
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CommonsChunkPlugin } = require('webpack').optimize;
const { AotPlugin } = require('@ngtools/webpack');
//...some stuff...
module.exports = {
//...some stuff...
"entry": {
"main": [
"./src/main.ts"
],
"polyfills": [
"./src/polyfills.ts"
],
"styles": [
"./src/styles.css"
4
],
"webworker": [
"./src/workerLoader.ts"
]
},
"output": {
"path": path.join(process.cwd(), "dist"),
"filename": "[name].bundle.js",
"chunkFilename": "[id].chunk.js"
},
"module": { /*...a lot of stuff...*/ },
"plugins": [
//...some stuff...
new HtmlWebpackPlugin({
//...some stuff...
"excludeChunks": [
"webworker"
],
//...some more stuff...
}),
new BaseHrefWebpackPlugin({}),
new CommonsChunkPlugin({
"name": "inline",
"minChunks": null,
"chunks": [
"main",
"polyfills",
"styles"
]
}),
//...some stuff...
new AngularCompilerPlugin({
"mainPath": "main.ts",
"entryModule": "app/app.module#AppModule",
//...some stuff...
})
],
//...some more stuff...
};
5
Finalmente, se debe instalar el webpack-dev-server y correr el sistema
de desarrollo con el comando, revisar artículo.