javascript - Laravel mix,如何为前端和管理部分设置不同的 css 和 js?

标签 javascript css webpack laravel-mix

我想将 css 和 js 的管理和用户部分放在单独的文件中。 最好的方法是什么? 我设置:`

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

` 但我的资源文件夹结构应该如何防止重复?任何指南如何最小化、分离或重组我的文件以获得更好的性能可读性? 如何设置 laravel mix 以构建 2 个 js 和 2 个 css 以用于不同的用途。

最佳答案

这是我使用 minimist 所做的.这适用于 Laravel v8 和 Laravel Mix v5。

文件结构

resources
├── js
│   ├── app.js
│   └── admin.js
└── sass
    ├── app.scss
    └── admin.scss

安装包

# NPM
% npm install minimist --save-dev

# YARN
% yarn add minimist --dev

webpack.mix.js

const mix = require('laravel-mix');
const argv = require('minimist')(process.argv.slice(2));

const src = {
  user: {
    js: 'resources/js/app.js',
    sass: 'resources/sass/app.scss'
  },
  admin: {
    js: 'resources/js/admin.js',
    sass: 'resources/sass/admin.scss'
  }
}
const dest = {
  js: 'public/js',
  sass: 'public/css'
}
// For User
if (argv.user) {
    mix.js(src.user.js, dest.js) // Output: public/js/app.js
       .sass(src.user.sass, dest.sass); // Output: public/css/app.css
}
// For Admin
else if (argv.admin) {
    mix.js(src.admin.js, dest.js) // Output: public/js/admin.js
       .sass(src.admin.sass, dest.sass); // Output: public/css/admin.css
}
// Both
else {
    mix.js(src.user.js, dest.js)
       .js(src.admin.js, dest.js)
       .sass(src.user.sass dest.sass)
       .sass(src.admin.sass, dest.sass);
}

运行脚本

# NPM
% npm run watch --user
% npm run watch --admin

# YARN
% yarn watch --user
% yarn watch --admin

您可以将 watch 脚本替换为 devprod

注意:Laravel Mix 仍然会持续监视resources 下的所有文件,每当目录下的任何文件发生更改时执行编译。

关于javascript - Laravel mix,如何为前端和管理部分设置不同的 css 和 js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53249004/

相关文章:

css - HTML header 不适合

html - 如何在CSS上对齐图像?

javascript - Webpack 中的第 3 方 Javascript 和 CSS 文件。奇怪的行为

javascript - ng-show 在 ng-repeated 列表中

javascript - CoreUI 图标没有出现在我的 react js 应用程序中

php - 从链接中获取值并将其用于标题属性

javascript - webpack 'import' 仅在顶层

reactjs - 无法导入语义-ui-css

javascript - 输入时自动将tinymce中的标签<p>替换为<ul><li>。为什么?和配置?

javascript - 在 JavaScript 中设置动态下拉值