我刚刚将一个应用程序升级到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
中定义第二个应用程序不起作用,因为它不是角度应用程序。
或者我是否必须定义第二个进程来编译,修改,缩小我的脚本等?
或者继续使用标准网络包?
答案 0 :(得分:0)
当您想要从常规角度应用程序升级到angular / @ cli项目时,主要问题是您需要一个.angular-cli.json文件,该文件在您创建项目时生成:ng new projectName
我成功了,通过在另一个目录中创建一个角度项目,然后我移动了我的src / app目录。这是我最容易推荐的。
如果你遇到困难,请告诉我;)
答案 1 :(得分:0)
我放弃了尝试(甚至不知道它是否有效)。
我现在做什么
将其作为资产包含在.angular-cli.json
{ "glob": "frame-redirect.js", "input": "../node_modules/a-private-package/dist/libs/", "output": "./" }
我认为完全依赖angular-cli为我的应用程序更容易和更快,并且有第二个/不相关的构建过程(必须在编译角度应用程序之前运行)。