小编dus*_*_bg的帖子

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

当我运行时,我在不使用 .extract 和 import() 的情况下获得了空的 .css 文件 npm run dev

我的 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');
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我删除 .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');
Run Code Online (Sandbox Code Playgroud)

这也有效:

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');
Run Code Online (Sandbox Code Playgroud)

但在那之后我需要生成 admin.js(或 app.js)。这不是很方便。任何想法我做错了什么?

我的环境是:

  • Laravel 混合版本:5.0.0
  • 节点版本:11.0.0
  • NPM 版本:6.10.3
  • 操作系统:macOS High Siera / Ubuntu 18.04 LTS

我确定我没有动态导入,因为我是从 laravel-mix v.3 升级的。但我也检查了我的代码。如果我有动态导入,我的示例都不会起作用。

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

import router from './router'
Run Code Online (Sandbox Code Playgroud)

在 /router/index.js 中有另一个导入:

import routes from './routes.js'
Run Code Online (Sandbox Code Playgroud)

问题 se?ms 在 routes.js …

javascript laravel webpack laravel-mix

5
推荐指数
1
解决办法
2043
查看次数

Laravel - 访问 API 中的会话变量

我有一个简单的应用程序,我希望能够更改语言。在我的主控制器中我有:

session(['applocale' => 'en']);
$request->session()->put('applocale','en');
Run Code Online (Sandbox Code Playgroud)

我知道这两行是相同的,但我想确保它们都不起作用。

然后我有API方法:

public function switchLang(Request $request, $lang)
{
    error_log("Current language is: " . session('applocale'));
    error_log("Current language is: " . $request->session()->get('applocale'));
}
Run Code Online (Sandbox Code Playgroud)

这里 error_log 没有显示任何内容。

我正在关注这个线程:Laravel 5.3 - How to add Sessions to APIwithout CSRF? 在 Debugbar 中,我可以看到我的 API 函数已命中中间件“会话”,但会话变量不存在。

这就是我的“季节”中间件的样子:

'sessions' => [
    \Illuminate\Session\Middleware\StartSession::class,
]
Run Code Online (Sandbox Code Playgroud)

它实际上同时触及“api”和“sessions”中间件。

有什么想法我做错了吗?

php api session-variables laravel-5

2
推荐指数
1
解决办法
4150
查看次数