{"id":2458,"date":"2016-09-13T16:00:46","date_gmt":"2016-09-13T14:00:46","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=2458"},"modified":"2018-07-18T10:45:45","modified_gmt":"2018-07-18T08:45:45","slug":"sharepoint-framework-utilizar-angular-2","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/","title":{"rendered":"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3239\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg\" alt=\"\" width=\"1140\" height=\"1066\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg 1140w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2-300x281.jpg 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2-768x718.jpg 768w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2-1024x958.jpg 1024w\" sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" \/><\/p>\n<p>Tal y como avanzamos en el <a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/2016\/09\/06\/sharepoint-framework-algunas-dudas\/\" target=\"_blank\" rel=\"noopener\">art\u00edculo anterior,\u00a0<\/a>el nombre de la nueva herramienta de desarrollo sobre SharePoint induce a confusi\u00f3n. En este post vamos a ver c\u00f3mo utilizar el<strong>\u00a0fram<\/strong><strong>ework JavaScript Angular 2 <\/strong>en\u00a0de los \u00abnuevos\u00bb WebParts\u00a0. Para ello tendremos que aclarar algunos aspectos de configuraci\u00f3n de la soluci\u00f3n, que nos servir\u00e1n\u00a0 para asentar los conocimientos de los art\u00edculos anteriores.<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2463\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/build_automation_gulp.png\" alt=\"Angular2 Typescript\" width=\"863\" height=\"281\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/build_automation_gulp.png 863w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/build_automation_gulp-300x98.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/build_automation_gulp-768x250.png 768w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/p>\n<p>En primer lugar crearemos la estructura del proyecto <strong>haciendo uso del template de Yeoman<\/strong> para la generaci\u00f3n de la soluci\u00f3n. Dentro de las plantillas que tenemos disponibles, seleccionaremos la opci\u00f3n \u00absin ning\u00fan framework\u00bb. Tal y como se muestra la siguiente pantalla:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2466\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/YoAngular.png\" alt=\"yeoman\" width=\"987\" height=\"444\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/YoAngular.png 987w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/YoAngular-300x135.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/YoAngular-768x345.png 768w\" sizes=\"auto, (max-width: 987px) 100vw, 987px\" \/><\/p>\n<p>Abriremos la soluci\u00f3n utilizando <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener\">Visual Studio Cod<\/a>e, abriremos el fichero package.json y a\u00f1adiremos las dependencias que son necesarias para el correcto funcionamiento de Angular. El fichero package.json quedar\u00e1 as\u00ed:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n{\r\n  &quot;name&quot;: &quot;demo-blog-angular-2&quot;,\r\n  &quot;version&quot;: &quot;0.0.1&quot;,\r\n  &quot;private&quot;: true,\r\n  &quot;engines&quot;: {\r\n    &quot;node&quot;: &quot;&gt;=0.10.0&quot;\r\n  },\r\n  &quot;dependencies&quot;: {\r\n    &quot;@microsoft\/sp-client-base&quot;: &quot;~0.2.0&quot;,\r\n    &quot;@microsoft\/sp-client-preview&quot;: &quot;~0.2.0&quot;,\r\n    &quot;@angular\/common&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;@angular\/compiler&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;@angular\/compiler-cli&quot;: &quot;0.6.0&quot;,\r\n    &quot;@angular\/core&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;@angular\/forms&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;@angular\/http&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;@angular\/platform-browser&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;@angular\/platform-browser-dynamic&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;@angular\/router&quot;: &quot;3.0.0-rc.2&quot;,\r\n    &quot;@angular\/upgrade&quot;: &quot;2.0.0-rc.6&quot;,\r\n    &quot;core-js&quot;: &quot;^2.4.1&quot;,\r\n    &quot;reflect-metadata&quot;: &quot;^0.1.3&quot;,\r\n    &quot;rxjs&quot;: &quot;5.0.0-beta.11&quot;,\r\n    &quot;systemjs&quot;: &quot;0.19.27&quot;,\r\n    &quot;zone.js&quot;: &quot;^0.6.17&quot;,\r\n    &quot;angular2-in-memory-web-api&quot;: &quot;0.0.18&quot;,\r\n    &quot;bootstrap&quot;: &quot;^3.3.6&quot;\r\n  },\r\n  &quot;devDependencies&quot;: {\r\n    &quot;@microsoft\/sp-build-web&quot;: &quot;~0.5.0&quot;,\r\n    &quot;@microsoft\/sp-module-interfaces&quot;: &quot;~0.2.0&quot;,\r\n    &quot;@microsoft\/sp-webpart-workbench&quot;: &quot;~0.2.0&quot;,\r\n    &quot;gulp&quot;: &quot;~3.9.1&quot; ,    \r\n    &quot;concurrently&quot;: &quot;^2.2.0&quot;,\r\n    &quot;lite-server&quot;: &quot;^2.2.2&quot;,\r\n    &quot;typescript&quot;: &quot;^1.8.10&quot;,\r\n    &quot;typings&quot;:&quot;^1.3.2&quot;\r\n  },\r\n  &quot;scripts&quot;: {\r\n    &quot;build&quot;: &quot;gulp bundle&quot;,\r\n    &quot;clean&quot;: &quot;gulp nuke&quot;,\r\n    &quot;test&quot;: &quot;gulp test&quot;\r\n  }\r\n}\r\n<\/pre>\n<p>Una vez modificamos este fichero \u00abjson\u00bb, lo que vamos a hacer es que nuestra soluci\u00f3n instale los paquetes de Angular 2 necesarios para su correcto funcionamiento.Para ello, nos ubicamos en la carpeta del proyecto y ejecutamos la siguiente instrucci\u00f3n:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nnpm install \r\n<\/pre>\n<p>Una de las cosas que tiene Angular 2 es el uso de los <strong>Decoradores de TypeScript<\/strong>, de momento estos \u00abdecodaradores\u00bb son algo experimental en Typescript. Por este motivo, en el momento de que vayamos a crear un Componente, nuestra soluci\u00f3n no compilar\u00e1 hasta que no modifiquemos la configuraci\u00f3n de TypeScript. Nos iremos al fichero tsconfig.json y le indicaremos que nuestro desarrollo acepta el uso de decoradores, a\u00f1adiendo la siguiente l\u00ednea:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    &quot;experimentalDecorators&quot;: true\r\n<\/pre>\n<p>Antes de empezar con el desarrollo, para poder utilizar los Frameworks necesitamos indicarle al SharePoint Framework la ubicaci\u00f3n de las librer\u00edas de Angular2. Esta configuraci\u00f3n est\u00e1 dentro de la carpeta \u00abConfig\u00bb en el fichero \u00abconfig.json\u00bb. Dentro del objeto \u00abExternals\u00bb agregaremos las siguientes referencias:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n   &quot;BrowserModule&quot; : &quot;node_modules\/@angular\/platform-browser\/src\/platform-browser.js&quot;,\r\n    &quot;NgModule&quot; : &quot;node_modules\/@angular\/core\/src\/core.js&quot;,\r\n    &quot;CommonModule&quot; : &quot;node_modules\/@angular\/common\/src\/commonmodule.js&quot;,\r\n    &quot;FormsModule&quot; :  &quot;node_modules\/@angular\/forms\/src\/formsmodule.js&quot;,\r\n    &quot;HttpModule&quot;:  &quot;node_modules\/@angular\/http\/src\/httpmodule.js&quot;\r\n<\/pre>\n<h2><strong>Creando el Componente de Angular 2<\/strong><\/h2>\n<p>Crearemos una carpeta \u00abApp\u00bb dentro de la ruta donde est\u00e1 el Webpart, en nuestro caso: \u00absr\/webpart\/helloAngular\u00bb. Esta carpeta contendr\u00e1 los siguientes ficheros: app.component.ts y app.module.ts.<\/p>\n<p>El fichero app.component.ts tiene el siguiente c\u00f3digo:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nimport { Component } from &quot;@angular\/core&quot;;\r\n@Component({\r\n  selector: &quot;my-app&quot;,\r\n  template: &quot;\r\n&lt;h1&gt;My First Angular 2 App&lt;\/h1&gt;\r\n\r\n&quot;\r\n})\r\nexport class AppComponent { }\r\n<\/pre>\n<p>En el fichero \u00abapp.module.ts\u00bb a\u00f1adiremos el siguiente c\u00f3digo:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nimport { NgModule }      from '@angular\/core';\r\nimport { BrowserModule } from '@angular\/platform-browser';\r\nimport { AppComponent }   from '.\/app.component';\r\n\r\n@NgModule({\r\n  imports:      &#x5B; BrowserModule ],\r\n  declarations: &#x5B; AppComponent ],\r\n  bootstrap:    &#x5B; AppComponent ]\r\n})\r\nexport class AppModule { }\r\n<\/pre>\n<p>El siguiente paso, es incluir la App dentro del WebPart. Para ello, nos vamos a la clase HelloAngularWebPart.ts y agregamos las siguientes referencias:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nimport { platformBrowserDynamic } from '@angular\/platform-browser-dynamic';\r\nimport { AppModule } from '.\/app\/app.module';\r\n<\/pre>\n<p>En el constructor del WebPart cargaremos el m\u00f3dulo de carga de la plataforma, quedando de la siguiente forma:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n public constructor(context: IWebPartContext) {\r\n    const platform = platformBrowserDynamic();\r\n    platform.bootstrapModule(AppModule);\r\n    super(context);\r\n  }\r\n<\/pre>\n<p>En el m\u00e9todo \u00abRender\u00bb,\u00a0 hacemos la llamada al componente de nuestra aplicaci\u00f3n, quedando as\u00ed:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\npublic render(): void {\r\n    this.domElement.innerHTML = `\r\n      &lt;my-app&gt;Loading...&lt;\/my-app&gt;`;\r\n\r\n  }\r\n<\/pre>\n<p>Si ejecutamos el comando gulp serve y agregamos el Webpart se mostrar\u00e1 el siguiente error:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2472\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/ErrorAngular.png\" alt=\"error angular\" width=\"718\" height=\"413\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/ErrorAngular.png 718w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/ErrorAngular-300x173.png 300w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><\/p>\n<p>Este error se ha producido porque dentro del WebPart nos falta incluir una serie de librer\u00edas de Angular2. Son las siguientes:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nimport &quot;reflect-metadata&quot;;\r\nimport &quot;core-js\/es6\/symbol&quot;;\r\nimport &quot;core-js\/es6\/object&quot;;\r\nimport &quot;core-js\/es6\/function&quot;;\r\nimport &quot;core-js\/es6\/parse-int&quot;;\r\nimport &quot;core-js\/es6\/parse-float&quot;;\r\nimport &quot;core-js\/es6\/number&quot;;\r\nimport &quot;core-js\/es6\/math&quot;;\r\nimport &quot;core-js\/es6\/string&quot;;\r\nimport &quot;core-js\/es6\/date&quot;;\r\nimport &quot;core-js\/es6\/array&quot;;\r\nimport &quot;core-js\/es6\/regexp&quot;;\r\nimport &quot;core-js\/es6\/map&quot;;\r\nimport &quot;core-js\/es6\/set&quot;;\r\nimport &quot;core-js\/es6\/reflect&quot;;\r\n\r\nimport &quot;core-js\/es7\/reflect&quot;;\r\nimport &quot;zone.js\/dist\/zone&quot;;\r\n<\/pre>\n<p>Realizamos dicha modificaci\u00f3n en nuestro c\u00f3digo, ejecutamos otra vez el comando gulp serve, y ya tenemos nuestra aplicaci\u00f3n funcionando con Angular.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2473\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/AppAngular2.png\" alt=\"angular 2\" width=\"1012\" height=\"220\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/AppAngular2.png 1012w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/AppAngular2-300x65.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/AppAngular2-768x167.png 768w\" sizes=\"auto, (max-width: 1012px) 100vw, 1012px\" \/><\/p>\n<p>El <strong>c\u00f3digo fuente<\/strong> de este ejemplo lo pod\u00e9is encontrar en el siguiente repositorio de GitHub.<br \/>\n<a href=\"https:\/\/github.com\/AdrianDiaz81\/DemosBlog\/tree\/master\/DemoBlogAngular2\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2377\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/07\/github-1024x380.png\" alt=\"github\" width=\"1024\" height=\"380\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/07\/github-1024x380.png 1024w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/07\/github-300x111.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/07\/github-768x285.png 768w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/07\/github.png 1125w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>Tal y como avanzamos en el art\u00edculo anterior,\u00a0el nombre de la nueva herramienta de desarrollo sobre SharePoint induce a confusi\u00f3n. En este post vamos a ver c\u00f3mo utilizar el\u00a0framework JavaScript Angular 2 en\u00a0de los \u00abnuevos\u00bb WebParts\u00a0. Para ello tendremos que &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[100,113,11,142],"tags":[169,179,177,178],"class_list":["post-2458","post","type-post","status-publish","format-standard","hentry","category-javascript-2","category-office-365-2","category-sharepoint-2013","category-sharepoint-2016","tag-angular-2","tag-future-of-sharepoint","tag-sharepoint-framework","tag-spfx"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts - Desarrollando sobre SharePoint<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"Tal y como avanzamos en el art\u00edculo anterior,\u00a0el nombre de la nueva herramienta de desarrollo sobre SharePoint induce a confusi\u00f3n. En este post vamos a ver c\u00f3mo utilizar el\u00a0framework JavaScript Angular 2 en\u00a0de los \u00abnuevos\u00bb WebParts\u00a0. Para ello tendremos que &hellip; Continue reading &rarr;\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adri\u00e1n D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts\",\"datePublished\":\"2016-09-13T14:00:46+00:00\",\"dateModified\":\"2018-07-18T08:45:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/\"},\"wordCount\":1029,\"commentCount\":4,\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/09\\\/Angular-2.jpg\",\"keywords\":[\"angular 2\",\"future of sharepoint\",\"sharepoint framework\",\"spfx\"],\"articleSection\":[\"javascript\",\"Office 365\",\"sharepoint 2013\",\"sharepoint 2016\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/\",\"url\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/\",\"name\":\"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/09\\\/Angular-2.jpg\",\"datePublished\":\"2016-09-13T14:00:46+00:00\",\"dateModified\":\"2018-07-18T08:45:45+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-framework-utilizar-angular-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/09\\\/Angular-2.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/09\\\/Angular-2.jpg\",\"width\":1140,\"height\":1066},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/\",\"name\":\"Desarrollando sobre SharePoint\",\"description\":\"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\",\"name\":\"Adri\u00e1n D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"caption\":\"Adri\u00e1n D\u00edaz\"},\"description\":\"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/author\\\/desarrollandosobresharepoint\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts - Desarrollando sobre SharePoint","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/","twitter_card":"summary_large_image","twitter_title":"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts - Desarrollando sobre SharePoint","twitter_description":"Tal y como avanzamos en el art\u00edculo anterior,\u00a0el nombre de la nueva herramienta de desarrollo sobre SharePoint induce a confusi\u00f3n. En este post vamos a ver c\u00f3mo utilizar el\u00a0framework JavaScript Angular 2 en\u00a0de los \u00abnuevos\u00bb WebParts\u00a0. Para ello tendremos que &hellip; Continue reading &rarr;","twitter_image":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/#article","isPartOf":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts","datePublished":"2016-09-13T14:00:46+00:00","dateModified":"2018-07-18T08:45:45+00:00","mainEntityOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/"},"wordCount":1029,"commentCount":4,"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg","keywords":["angular 2","future of sharepoint","sharepoint framework","spfx"],"articleSection":["javascript","Office 365","sharepoint 2013","sharepoint 2016"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/","url":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/","name":"SharePoint FrameWork: C\u00f3mo utilizar Angular 2 en los WebParts - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/#primaryimage"},"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg","datePublished":"2016-09-13T14:00:46+00:00","dateModified":"2018-07-18T08:45:45+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-framework-utilizar-angular-2\/#primaryimage","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg","contentUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/09\/Angular-2.jpg","width":1140,"height":1066},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/","name":"Desarrollando sobre SharePoint","description":"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb","name":"Adri\u00e1n D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","caption":"Adri\u00e1n D\u00edaz"},"description":"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/author\/desarrollandosobresharepoint\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/2458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/comments?post=2458"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/2458\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=2458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=2458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=2458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}