将角度2与liferay 6.2集成

时间:2017-05-09 05:14:36

标签: angular liferay

问题是我无法加载javascript文件(如@ angular / core,@ angular / form) 我在liferay中添加了node_modules结构,但无法解决如何导入文件的问题。 因此,任何人都可以提供解决方案或将角度2与liferay 6.2集成的步骤

1 个答案:

答案 0 :(得分:0)

问题不在于只加载node_modules。

用于在Liferay 6.2中加载Angular 2

你的portal_normal.vm [index.html]应该包含&像这样加载库。

<!DOCTYPE html>
<html>
  <head>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <title>NgModule Deluxe</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://npmcdn.com/core-js/client/shim.min.js"></script>
    <script src="https://npmcdn.com/zone.js@0.6.25?main=browser"></script>
    <script src="https://npmcdn.com/reflect-metadata@0.1.3"></script>
    <script src="https://npmcdn.com/systemjs@0.19.27/dist/system.src.js"></script>
    <script src="systemjs.config.js"></script>
    <script>
      System.import('main.ts').catch(function(err){ console.error(err); });
    </script>
  </head>

  <body>
    <app-root>Loading...</app-root>
  </body>
</html>

下一步是你的main.ts加载,它引导你的根模块。

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';

platformBrowserDynamic().bootstrapModule(AppModule);

然后你的AppModule已经加载了,这将是必要的,你需要任务运行者进行必要的转换。

示例:Maven + NPM

样本POM

<parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.3.5.RELEASE</version>
</parent>

<packaging>war</packaging>


<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>exec-npm-install</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <workingDirectory>${project.basedir}/src/main/resources</workingDirectory>
                        <executable>npm</executable>
                        <arguments>
                            <argument>install</argument>
                        </arguments>
                    </configuration>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
                <execution>
                    <id>exec-npm-run-tsc</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <workingDirectory>${project.basedir}/src/main/resources</workingDirectory>
                        <executable>npm</executable>
                        <arguments>
                            <argument>run</argument>
                            <argument>tsc</argument>
                        </arguments>
                    </configuration>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

这就是保存所有文件的地方。

src/main/resources
                /app          - .ts and converted .js
                /css
               /images
               /js           - systemjs.config.js is also placed here
               /node_modules - generated by npm install and will include in war
               /typings
                package.json
                tsconfig.json
                typings.json