首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web pack -at typescript loader插件:如何检测[at-loader]进程结束

web pack -at typescript loader插件:如何检测[at-loader]进程结束
EN

Stack Overflow用户
提问于 2016-12-06 19:18:38
回答 1查看 343关注 0票数 1

在webpack构建脚本中,‘loader typescript loader’作为一个单独的进程启动。当webpack退出时,这个单独的进程还没有完成,所以我不能运行PM2重新加载进程……

有没有一种方法可以检测到这个独立进程的结束,从而按时正确地启动PM2重新加载?

为了检查webpack的时间线,我添加了一个特定的插件

代码语言:javascript
复制
new WebpackShellPlugin({onBuildStart:['echo "Webpack Start"'],
 onBuildEnd:['echo "Webpack End"'], onBuildExit:['echo "Webpack Exit"']})

运行:

代码语言:javascript
复制
 node_modules/.bin/webpack --config webpack.config.prod.js --progress --profile --bail 

控制台日志:

代码语言:javascript
复制
@example.com Executing pre-build scripts
@example.com "**Webpack Start**". # echo from  WebpackShellPlugin
@example.com 
@example.com [at-loader] Using typescript@2.0.10 from typescript and "tsconfig.json" from /opt/hello-angular/releases/20161206103220/tsconfig.json
@example.com 
@example.com [at-loader] Checking started in a separate process...

    # is there a way to keep track this process ?

@example.com 
@example.com [at-loader] Ok, 5.531 sec.
@example.com Executing post-build scripts
@example.com "**Webpack End**"  # echo from WebpackShellPlugin
@example.com Executing additional scripts before exit
@example.com "**Webpack Exit**". # echo from WebpackShellPlugin
@example.com Hash: 5c4be87232dc5ea6d7fa
@example.com Version: webpack 2.1.0-beta.27
@example.com Time: 70161ms
@example.com     Asset    Size  Chunks             Chunk Names
@example.com bundle.js  376 kB       0  [emitted]  app
@example.com     + 441 hidden modules
...
....  # [at-loader] output  long process ....
5693ms asset optimization
....
@358ms emitting
localhost$.  #  [at-loader] process finished )
    is there a way to get warned when the separate process ends up, and run my pm2 start command at this point ?
EN

回答 1

Stack Overflow用户

发布于 2016-12-08 05:26:23

我找到了一个解决方案,在我的shipit任务中使用回调函数...

代码语言:javascript
复制
// this task builds the Angular bundle in the release folder
shipit.blTask('build_script', function () {
    shipit.remote('cd '+ shipit.releasePath + ' && npm run build:' + env).then(function (res) {
        console.log("WEBPACK BUILD CALLBACK FUNCTION... NOW RESTART PM2");
        shipit.start('pm2-startOrReload');
    });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40994075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档