Javascript laravel mix生成空的(0字节).css文件,而没有动态导入和.extract

Javascript laravel mix生成空的(0字节).css文件,而没有动态导入和.extract,javascript,laravel,webpack,laravel-mix,Javascript,Laravel,Webpack,Laravel Mix,我没有使用.extract和import()得到空的.css文件 当我运行npm运行dev My webpack.mix.js: let mix = require('laravel-mix'); mix.js('resources/assets/js/app.js', 'public/js').sourceMaps() .js('resources/assets/js/admin.js', 'public/js').sourceMaps() .sass('resources/a

我没有使用.extract和import()得到空的.css文件 当我运行
npm运行dev

My webpack.mix.js:

let mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js').sourceMaps()
    .js('resources/assets/js/admin.js', 'public/js').sourceMaps()
    .sass('resources/assets/sass/app.scss', 'public/css')
    .sass('resources/assets/sass/admin.scss', 'public/css');

mix.copyDirectory('resources/assets/img', 'public/img');
奇怪的是,如果我删除其中一个.js混音,它就会工作。例如,这项工作:

mix.js('resources/assets/js/app.js', 'public/js').sourceMaps()
    .sass('resources/assets/sass/app.scss', 'public/css')
    .sass('resources/assets/sass/admin.scss', 'public/css');
mix.js('resources/assets/js/admin.js', 'public/js').sourceMaps()
    .sass('resources/assets/sass/admin.scss', 'public/css');
这也适用于:

mix.js('resources/assets/js/admin.js', 'public/js').sourceMaps()
    .sass('resources/assets/sass/app.scss', 'public/css')
    .sass('resources/assets/sass/admin.scss', 'public/css');
但在那之后我需要生成admin.js(或app.js)。这不是很方便。 知道我做错了什么吗

我的环境是:

  • Laravel Mix版本:5.0.0
  • 节点版本:11.0.0
  • NPM版本:6.10.3
  • 操作系统:macOS High Siera/Ubuntu 18.04 LTS
我确信我没有动态导入,因为我是从LaravelMixV.3升级的。但我也检查了我的代码。如果我有动态导入,那么我的示例都不起作用

编辑: 我发现问题出在我的admin.js文件中,该文件导入:

import router from './router'
在/router/index.js中还有另一个导入:

import routes from './routes.js'
routes.js文件中的问题如下所示:

const routes = [
    {
        path: '/',
        component: resolve => require(['../views/admin/dashboard/dashboard.vue'], resolve),
        meta: {
            title: "Dashboard",
        }
    },
];
export default routes
但是,我仍然无法解释这里的动态导入在哪里?!?!? 或者这是如何工作的:

mix.js('resources/assets/js/app.js', 'public/js').sourceMaps()
    .sass('resources/assets/sass/app.scss', 'public/css')
    .sass('resources/assets/sass/admin.scss', 'public/css');
mix.js('resources/assets/js/admin.js', 'public/js').sourceMaps()
    .sass('resources/assets/sass/admin.scss', 'public/css');
我改变了这一点:

component: resolve => require(['../views/admin/dashboard/dashboard.vue'], resolve),
为此:

component: require('../views/admin/dashboard/dashboard.vue').default,

现在它开始工作了。这篇文章很有帮助:

那么
admin.js
正在使用动态导入如果你声称它没有动态导入,那么在问题中包含你的js文件代码不是很明智吗?@Saly3301,是的,问题似乎出在与admin.js相关的文件中,但这是如何工作的:mix.js('resources/assets/js/admin.js',public/js')).sourceMaps().sass('resources/assets/sass/admin.scss','public/css')@Saly3301,很抱歉,我提供了代码。这对我来说肯定不起作用。