Laravel项目:强制webpack忽略一些文件

时间:2017-06-22 13:50:27

标签: javascript laravel webpack

我在Laravel 5.4和Vue.js中构建应用程序。由于我已经在另一个项目中创建了大部分组件,因此我已将该项目作为Git子模块导入我的Laravel应用程序中。 问题是当我运行命令时

npm run dev

我这个错误:

npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @ development script 'cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the  package,
npm ERR! not with npm itself.

经过一些调试我发现问题是我导入的项目是git子模块,包含我的组件,有一些隐藏的配置文件,如.env,.babelrc,它们会触发该错误。如果我删除它们,编译就可以了,我可以使用我的组件。

问题在于我无法从项目中删除这些文件,理想的方法是忽略Laravel的webpack配置中的那些文件:

  mix.js('resources/assets/js/app.js', 'public/js')
      .sass('resources/assets/sass/app.scss', 'public/css');

我怎样才能做到这一点?更多不应该Webpack只编译需要的东西吗? 例如,如果我从库中导入一个单独的组件,我希望webpack只编译该组件,而不是其他所有组件......

2 个答案:

答案 0 :(得分:1)

我通过这样做解决了这个问题:

mix.copy('node_modules/foo/bar.css', 'public/css/bar.css');

在捆绑js文件之前,我将所有组件从库中移动到laravel项目中的assets / js / components文件夹,编译工作正常!

答案 1 :(得分:0)

首先,您使用的是Laravel mix。如果您不想修复该模块。我会从你的bootstrap文件中删除它并手动导入