javascript - Laravel 项目 : force webpack to ignore some files

标签 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 只编译该组件,而不是其他所有组件......

最佳答案

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

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

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

关于javascript - Laravel 项目 : force webpack to ignore some files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44701374/

相关文章:

javascript - 通过特殊条件语句弄清楚

php - Laravel 默认邮件不起作用

php - AWS RDS 的外键约束不起作用

php - 无法为 api 路由 laravel 设置 cookie

javascript - 如何使用 webpack 2 正确打包 loadCSS 和 cssrelpreload?

webpack - Webpack URL-loader设置目标路径

javascript - 如何区分类中的每个复选框元素

javascript - 未捕获的类型错误 : Cannot set property 'textContent' of null

php - 跨页面记住选中的复选框 - 最好的方法是什么?

javascript - 为什么 CssMinimizerWebpackPlugin 会阻止我的主 js 文件被缩小?