出乎意料的人物' @'

时间:2017-01-27 15:52:03

标签: laravel npm sass laravel-5.4

我最近改用了laravel 5.4。

当我尝试运行npm run watch时,我收到以下错误 -

Error

我甚至没有在我的sass文件中进行任何编辑。
Sass文件看起来像这样---

// Fonts
@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);

// Variables
@import "variables";

// Bootstrap
@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";

我该如何解决这个问题?

我的package.json文件看起来像这样 -

{
    "private": true,
    "scripts": {
        "dev": "node node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "node node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "hot": "node node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "production": "node node_modules/cross-env/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.15.2",
        "bootstrap-sass": "^3.3.7",
        "jquery": "^3.1.0",
        "laravel-mix": "^0.5.0",
        "less": "^2.7.2",
        "less-loader": "^2.2.3",
        "lodash": "^4.16.2",
        "vue": "^2.0.1"
    }
}

2 个答案:

答案 0 :(得分:1)

确保您的计算机上安装了sass。如果您没有安装,请在此处说明:http://sass-lang.com/install

然后您需要确保项目中还安装了sass。阅读package.json,您似乎有了less

运行:npm i --save-dev sass

默认情况下,您的项目已安装less。从根文件夹中找到文件webpack.mix.js。找到以下一行

mix.less('resources/assets/less/app.less', 'public/css')

.less(' resources / assets / less / admin.less',' public / css');

并将其更改为

mix.sass('resources/assets/sass/app.sass', 'public/css')

.sass(' resources / assets / sass / admin.sass',' public / css / admin');

如果您没有看到完全相同的行,请找到类似的内容。

答案 1 :(得分:1)

这是Laravel Mix的当前问题。关于GitHub,有一个公开的问题讨论。

https://github.com/JeffreyWay/laravel-mix/issues/200

根据一些用户的说法,你可以使用Laravel Mix版本0.5.8,你的问题就会消失。编辑package.json文件以获得"laravel-mix": "0.5.8"

我建议在问题解决之前使用它。

对于Windows用户来说,这似乎是一个问题。

修改

截至目前,这些问题似乎已得到解决。您需要提取最新版本的Mix,并将"vue-loader": "10.1.0"添加到package.json文件中。