如何使用@ angular / cli和非角度脚本

时间:2017-11-09 15:15:54

标签: angular webpack angular-cli

我刚刚将一个应用程序升级到Angular 5并希望尝试@ angular / cli,因为直到现在我只是从角度启动程序包派生的不同webpack配置。

我们的构建是直截了当的,但我不确定如何处理。

我们使用adal.js(基本上是用于Micosoft ADFS的JS OAuth库)并且需要使用与Angular无关的简单Javascript(从TypesScript转换)创建第二个html文件。 它只是处理来自ADFS的GET响应并重定向到Angular应用程序。

到目前为止,我们刚刚在webpack中定义了多个入口点,并使用HtmlWebpackPlugin来分隔这样的块

entry: {
            'polyfills': './src/polyfills.ts',
            'main': AOT ? './src/main.browser.aot.ts'
                : './src/main.browser.ts',
            'frameRedirect': './src/frame-redirect.ts'
        },

// under plugins
new HtmlWebpackPlugin({
                template: 'src/frameRedirect.html',
                filename: 'frameRedirect.html',
                chunks: ['frameRedirect'],
                inject: 'head'
            }),
            new HtmlWebpackPlugin({
                template: 'src/index.html',
                metadata: METADATA,
                chunksSortMode: 'manual',
                chunks: ['vendor', 'polyfills', 'main']
            }),

@ angular / cli是否提供了这样做的方法? 在angular-cli.json中定义第二个应用程序不起作用,因为它不是角度应用程序。

或者我是否必须定义第二个进程来编译,修改,缩小我的脚本等?

或者继续使用标准网络包?

2 个答案:

答案 0 :(得分:0)

当您想要从常规角度应用程序升级到angular / @ cli项目时,主要问题是您需要一个.angular-cli.json文件,该文件在您创建项目时生成:ng new projectName

我成功了,通过在另一个目录中创建一个角度项目,然后我移动了我的src / app目录。这是我最容易推荐的。

如果你遇到困难,请告诉我;)

答案 1 :(得分:0)

我放弃了尝试(甚至不知道它是否有效)。

我现在做什么

  • 将ts文件(在我的情况下为frame-redirect.ts)编译为带有webpack /汇总的javascript或任何你想要使用的文件。
  • 将其作为资产包含在.angular-cli.json

    { "glob": "frame-redirect.js", "input": "../node_modules/a-private-package/dist/libs/", "output": "./" }
    

我认为完全依赖angular-cli为我的应用程序更容易和更快,并且有第二个/不相关的构建过程(必须在编译角度应用程序之前运行)。