意外字符“@”
Unexpected character '@'
我最近切换到 laravel 5.4。
当我尝试 运行 npm run watch
时,出现以下错误 --
我什至没有在 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"
}
}
确保您的计算机上安装了 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');
如果您没有看到完全相同的线条,请查找类似的内容。
这是 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 文件。
我最近切换到 laravel 5.4。
当我尝试 运行 npm run watch
时,出现以下错误 --
我什至没有在 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"
}
}
确保您的计算机上安装了 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');
如果您没有看到完全相同的线条,请查找类似的内容。
这是 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 文件。