javascript - 以编程方式启动 vue-cli-service serve 时控制 webpack 的冗长程度

标签 javascript node.js vue.js webpack vue-cli-3

我正在尝试从 Node.js 应用程序内部运行 vue-cli-service serve,如下所示:

const Service = require('@vue/cli-service');
const service = new Service(process.cwd());
service.init("development");
service.run('serve').then(({ server, url }) => {
  console.log("started server on " + url);
});

而且有效。

$ node e2e.js
INFO  Starting development server...
40% building 130/136 modules 6 active ...node_modules/eslint-loader/index.js??ref--13-0!.../ui/src/js/config/Product.js...
. . .
. . .
started server on http://localhost:8080/

但是当我在 production 模式下执行此操作时(将 service.init("development") 更改为 service.init("production")),我看不到 webpack 的“构建”进度了。

$ node e2e.js
INFO  Starting development server...
started server on http://localhost:8080/

因此我的问题是:如何在生产模式下启动 Vue 服务器,但将 webpack 进度打印到控制台?

最佳答案

进度由 Webpack 的 ProgressPlugin 报告, Vue CLI inserts only for non-production and non-test builds (自 3.x 起)。

您可以在 <root>/vue.config.js 中启用此插件与 devServer.progress=true (当前 undocumented ):

module.exports = {
  devServer: {
    progress: true  // always show progress (even in production mode)
  }
}

或者在你的e2e.js , 你可以插入 ProgressPlugin进入Service实例的 webpackChainFns[] 之后 init() :

service.init("production")
service.webpackChainFns.push(config => {
  config
    .plugin("progress")
    .use(require("webpack/lib/ProgressPlugin"))
})

关于javascript - 以编程方式启动 vue-cli-service serve 时控制 webpack 的冗长程度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58031204/

相关文章:

javascript - 在类选择器中传递 jQuery this.id

javascript - 我想编写一个重新排序用户界面?怎么做?

node.js - AWS-SDK DynamoDB NodeJS 性能不佳?

javascript - 从另一个对象创建新对象而不持久更改

javascript - 如何在Nuxtjs中创建检查角色的中间件

javascript - 如何在 Angular js中创建对象名称

javascript - 使用 jquery 分离/附加选择选项

node.js - 如何使用 NodeJS、Nginx 和 base64 上传图像? (413有效负载太大错误: request entity too large)

javascript - javascript 和 Node.js 中的全局变量作用域

javascript - 从子组件更新数据 - Vue.js/Axios/Laravel