使用Web Pack将dist复制到libs目录

时间:2019-07-01 15:39:41

标签: webpack webpack-4 laravel-mix

我想执行以下操作:

我使用口香糖将其添加到任务中:

gulp.task('copy:libs', function() {
  return gulp
    .src(npmdist(), { base: paths.base.node.dir })
    .pipe(gulp.dest(paths.dist.libs.dir));
});

这将我的包从node_modules复制到了我的libs目录。现在,我想使用webpack做同样的事情:

  • 来源:node_modules/@fancyapps/fancybox/dist/jquery.fancybox.min.css
  • 目标:lib/css/fancybox/jquery.fancybox.min.css

  • 来源:node_modules/@fancyapps/fancybox/dist/jquery.fancybox.min.js
  • 目标:lib/js/fancybox/jquery.fancybox.min.js

不幸的是,我还没有找到使用WebpackCopy进行此操作的可能性。

2 个答案:

答案 0 :(得分:2)

仅供参考,如果您使用 Laravel Mix ,则可以使用mix.copy

例如

mix.copy('node_modules/@fancyapps/fancybox/dist/jquery.fancybox.min.css', 'lib/css/fancybox/jquery.fancybox.min.css');

或者如果您要复制目录

mix.copyDirectory('node_modules/@fancyapps/fancybox/dist', 'lib/css/fancybox');

答案 1 :(得分:1)

您可以使用copy-webpack-plugin执行此操作。

运行

npm i copy-webpack-plugin

然后在您的Webpack配置文件中

const webpack = require('webpack');
const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
  plugins: [
    new CopyWebpackPlugin([{
      from: 'node_modules/something',
      to: 'somefolder',
    }]),
  ]
}