【问题标题】:Using Gulp to launch MEAN Stack (frontend and backend)使用 Gulp 启动 MEAN Stack(前端和后端)
【发布时间】:2017-06-15 03:08:26
【问题描述】:

我一直在学习使用 Angular 2 构建移动应用程序。直到现在我才需要后端。我正在学习如何使用 express 和 MongoDB 构建 RestApi。

但是,我找到的文档只显示了如何使用 gulp 运行其中一个。

例如,我在构建前端时一直在使用 Gulp-Connect:

前端:

// Start a server for project.
gulp.task('connect', function(){
    connect.server({
    root : '',
    livereload : true,
    fallback: 'index.html'
    });
});

在学习制作 API 时,我使用了 Gulp-nodmon:

后端

gulp.task('default', function(){
    nodemon({
        script: 'app.js',
        ext: 'js',
        env: {
            PORT:8080
        },
        ignore: ['./node_modules/**']
    })
    .on('restart', function(){
        console.log('Restarting');
    });
});

我的理解是他们都做同样的事情,他们使用 Node.js 在本地服务器上启动应用程序。我的问题是,我应该如何设置 gulp 以便它同时启动我的前端和后端?我使用 Yeomon 生成器来了解它们是如何做到的,但对于 MEAN 堆栈生成器,它们倾向于使用 NODE。我确信这很好,但我不知道它是如何设置的,并且使用 gulp 变得更加舒适。

我可能完全误解了整个流程,有人对我有一些好的解释或指点吗?

【问题讨论】:

  • 我会将它们视为完全不同的服务/项目。单页应用程序的一个好处是您可以将后端与前端完全分离。我什至不会费心尝试设置 gulp 以同时启动它们,只需独立启动它们即可。
  • 你如何管理你的 angular 2 ?我的意思是转译部分??
  • 正如@shusson 提到的,在我将它分成两个矛头项目之前。 Angular 2 不需要 Gulp。只需使用 Angular-CLI。构建,服务全部包括在内。您的后端也可以在没有 gulp 的情况下启动和构建。只需使用 npm 脚本。一个示例项目可能是这里的:github.com/sibelius/koa-passport-mongoose-graphql。它是基于 koa 的,但这没关系。

标签: angular gulp mean-stack


【解决方案1】:

谢谢大家的建议,我确实探索了它,但似乎有些不对劲。 MEAN 堆栈对我来说是一种用于开发应用程序的单一代码库方法。我想避免将两个 Git 存储库部署到两个 heroku 服务器。

我进行了更多搜索,最后观看了 2 小时的 youtube 视频,介绍平均堆栈开发部署。

express 似乎可以部署静态 html,而后者又会运行我的 angular 应用程序。

所以在快递里面你会写:

app.use(express.static('public'))

然后在 gulp 中运行该 expressapp.js 文件或使用 NPM 启动它。

【讨论】:

    猜你喜欢
    • 2018-03-08
    • 1970-01-01
    • 2018-07-02
    • 2015-03-01
    • 2021-09-22
    • 1970-01-01
    • 2018-11-22
    • 2019-06-06
    • 2017-07-11
    相关资源
    最近更新 更多