Webpack-dev-server作为"跑步者"测试和夹具?

时间:2016-05-26 10:01:03

标签: gulp webpack karma-runner webpack-dev-server eslint

我有webpack-dev-server,我从npm(package.jso)运行它n:

"scripts": {
    "build": "NODE_ENV=production webpack -p --config webpack.production.config.js --progress --profile --colors",
    "dev": "webpack-dev-server --progress --profile --colors --hot"
},

它来自一些入门套件,效果很好。我可以运行node run dev和webpack监视我的文件中的任何更改并重新加载模块。

没关系。

但是!我最近和gulp合作过,我的工作流程是: 0.开始gulp watch。 1.在任何.js文件中进行真棒更改。 2. Gulp在每次更改时都会运行bundler(browserify),eslint和测试(在phantomjs上测试karma和jasmine)。

是否可以使用webpack-dev-server实现该流程?或者我应该使用webpack" watch"标记为gulp中的任务之一(而不是browserify)并保持我的流程?

我认为我真的不需要这个热模块重装的东西。我从来没有与之合作过,我很好(嗯,这不是非常坚实的论点,但仍然...... :))。这真的是超级功能,我应该在单独的终端窗口中运行webpack-dev-server和gulp任务?

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用带有ESLint的树形抖动功能的Webpack 2。在进行开发时,您还需要那些代码质量和加速度。

您可以选择的第一件事是使用单独的npm任务(在您的package.json中)使用ESLint购买,如下所示。它会在你的代码中监听变化的事件(在'test'regex中声明),然后将其linting:

"lint": "eslint <your-path-through-codes>"

当它在后台运行时,您可以不断开发代码并一次又一次地重构代码。

您可以按以下方式提供配置:

new webpack.LoaderOptionsPlugin({
  test: /\.js$/,
  loader: 'eslint-loader',
  exclude: /node_modules/,
  configFile: './.eslintrc'
})