Angular 7 CLI编程

Angular 7 CLI编程,angular,Angular,我想成功的是有一个启动Angular7应用程序的服务器。另一个需要这样做的例子是进行更复杂的生成,比如在生成之后添加更多文件 const client = require('@angular/cli'); client.serve(__dirname); client.generate('service', 'services/user'); 这段代码显然不能作为.serve或.generate函数使用,我在文档中以编程方式搜索解决方案,但找不到任何解决方案。有人成功了吗?我写了一个节点脚本,

我想成功的是有一个启动Angular7应用程序的服务器。另一个需要这样做的例子是进行更复杂的生成,比如在生成之后添加更多文件

const client = require('@angular/cli');
client.serve(__dirname);
client.generate('service', 'services/user');

这段代码显然不能作为.serve或.generate函数使用,我在文档中以编程方式搜索解决方案,但找不到任何解决方案。有人成功了吗?

我写了一个节点脚本,可以为角度应用程序服务

您可以像angular应用程序一样在目录中运行此脚本(node../angular cli.js):

发球

const angular = require('@angular/cli');
const run = angular.default;

const options = {
    cliArgs: [
        'serve',
    ]
};
run(options)
    .then(function () {
        console.log('then', arguments);
    })
    .catch(function () {
        console.log('catch', arguments);
    })
    .finally(function () {
        console.log('finally', arguments);
    });
const angular = require('@angular/cli');
const run = angular.default;

const options = {
    cliArgs: [
        'generate',
        'module',
        'test',
        '--routing=true',
    ]
};
run(options)
    .then(function () {
        console.log('then', arguments);
    })
    .catch(function () {
        console.log('catch', arguments);
    })
    .finally(function () {
        console.log('finally', arguments);
    });
生成

const angular = require('@angular/cli');
const run = angular.default;

const options = {
    cliArgs: [
        'serve',
    ]
};
run(options)
    .then(function () {
        console.log('then', arguments);
    })
    .catch(function () {
        console.log('catch', arguments);
    })
    .finally(function () {
        console.log('finally', arguments);
    });
const angular = require('@angular/cli');
const run = angular.default;

const options = {
    cliArgs: [
        'generate',
        'module',
        'test',
        '--routing=true',
    ]
};
run(options)
    .then(function () {
        console.log('then', arguments);
    })
    .catch(function () {
        console.log('catch', arguments);
    })
    .finally(function () {
        console.log('finally', arguments);
    });

你为什么需要它?您是否需要从脚本而不是命令行运行服务器?通常您会使用
npm run build
ng build--prod
构建angular应用程序,然后从服务器将捆绑包作为静态内容提供。你不需要启动(不清楚)你的应用程序。我只需要启动服务器,让客户端和服务器都在开发级别上运行。另一个例子是进行更复杂的生成,比如在angular generate之后添加更多文件。为什么不能编写一个批处理文件来运行所有需要的命令?这有点难看,就像我可以使用类似以下内容:
require('child\u process')
并执行这些命令一样,但这是一种更好的方式,即
require('@angular/cli')。如果这是不可能的,也不打算成为可能,我想我必须使用丑陋的方法。这看起来是官方的方法,有关于这方面的文件吗?没有,我没有找到任何文件