代码拉取完成,页面将自动刷新
let mix = require('laravel-mix');
let del = require('del');
let fs = require('fs');
function scanAssetsDevApps(assetBasePath, apps, srcBasePath) {
apps.forEach(name => {
let configDir = assetBasePath + '/' + name;
srcBasePath = !!srcBasePath ? srcBasePath : configDir;
let file = configDir + '/assets.config.js';
if (fs.existsSync(file)) {
let config = require(file);
let assets = config.assets;
if (assets.less) {
assets.less.forEach(less => {
let lessFile = srcBasePath + '/' + assets.src + '/' + less.src;
let lessDist = srcBasePath + '/' + assets.dist + '/' + less.dist;
if (fs.existsSync(lessFile)) {
console.log('load addon less file: ' + lessFile)
mix.less(lessFile, lessDist);
}
});
}
if (assets.js) {
assets.js.forEach(js => {
let jsFile = srcBasePath + '/' + assets.src + '/' + js.src;
let jsDist = srcBasePath + '/' + assets.dist + '/' + js.dist;
if (fs.existsSync(jsFile)) {
console.log('load addon js file: ' + jsFile)
mix.js(jsFile, jsDist);
}
});
}
if (assets.imageDir) {
let srcDir = srcBasePath + '/' + assets.src + '/' + assets.imageDir;
let distDir = srcBasePath + '/' + assets.dist + '/' + assets.imageDir;
if (fs.existsSync(srcDir)) {
console.log('copy image dir: ' + srcDir)
mix.copyDirectory(srcDir, distDir);
}
}
}
});
}
mix
.options({
processCssUrls: false
});
if (fs.existsSync("./dev.js")) {
let config = require("./dev.js");
console.log(config);
if (config.apps.admin.length > 0) {
scanAssetsDevApps(".", config.apps.admin, ".");
}
if (config.apps.addons.length > 0) {
scanAssetsDevApps("./Addons", config.apps.addons);
}
if (config.apps.themes.length > 0) {
scanAssetsDevApps("./Themes", config.apps.themes);
}
}
/*
* |-------------------------------------------------------------------------- |
* Mix Asset Management
* |-------------------------------------------------------------------------- | |
* Mix provides a clean, fluent API for defining some Webpack build steps | for
* your Laravel application. By default, we are compiling the Sass | file for
* your application, as well as bundling up your JS files. |
*/
mix
.then(function () {
del(['Public/assets/*']);
});
// mix.js('src/app.js', 'dist/').sass('src/app.scss', 'dist/');
// Full API
// mix.js(src, output);
// mix.react(src, output); <-- Identical to mix.js(), but registers React Babel
// compilation.
// mix.preact(src, output); <-- Identical to mix.js(), but registers Preact
// compilation.
// mix.coffee(src, output); <-- Identical to mix.js(), but registers
// CoffeeScript compilation.
// mix.ts(src, output); <-- TypeScript support. Requires tsconfig.json to exist
// in the same folder as webpack.mix.js
// mix.extract(vendorLibs);
// mix.sass(src, output);
// mix.less(src, output);
// mix.stylus(src, output);
// mix.postCss(src, output, [require('postcss-some-plugin')()]);
// mix.browserSync('my-site.test');
// mix.combine(files, destination);
// mix.babel(files, destination); <-- Identical to mix.combine(), but also
// includes Babel compilation.
// mix.copy(from, to);
// mix.copyDirectory(fromDir, toDir);
// mix.minify(file);
// mix.sourceMaps(); // Enable sourcemaps
// mix.version(); // Enable versioning.
// mix.disableNotifications();
// mix.setPublicPath('path/to/Public');
// mix.setResourceRoot('prefix/for/resource/locators');
// mix.autoload({}); <-- Will be passed to Webpack's ProvidePlugin.
// mix.webpackConfig({}); <-- Override webpack.config.js, without editing the
// file directly.
// mix.babelConfig({}); <-- Merge extra Babel configuration (plugins, etc.) with
// Mix's default.
// mix.then(function () {}) <-- Will be triggered each time Webpack finishes
// building.
// mix.override(function (webpackConfig) {}) <-- Will be triggered once the
// webpack config object has been fully generated by Mix.
// mix.dump(); <-- Dump the generated webpack config object to the console.
// mix.extend(name, handler) <-- Extend Mix's API with your own components.
// mix.options({
// extractVueStyles: false, // Extract .vue component styling to file, rather
// than inline.
// globalVueStyles: file, // Variables file to be imported in every component.
// processCssUrls: true, // Process/optimize relative stylesheet url()'s. Set to
// false, if you don't want them touched.
// purifyCss: false, // Remove unused CSS selectors.
// terser: {}, // Terser-specific options.
// https://github.com/webpack-contrib/terser-webpack-plugin#options
// postCss: [] // Post-CSS options:
// https://github.com/postcss/postcss/blob/master/docs/plugins.md
// });
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。