找不到模块“sass”

新手上路,请多包涵

我编写了一个反应应用程序并尝试将其 docker 化。在我这样做之后,它不能正确编译,它没有找到“sass”模块,这是我的错误:

 Failed to compile.

./src/index.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6-
1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-
oneOf-6-3!./node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/index.scss)
Cannot find module 'sass'
Require stack:
- /app/node_modules/sass-loader/dist/utils.js
- /app/node_modules/sass-loader/dist/index.js
- /app/node_modules/sass-loader/dist/cjs.js
- /app/node_modules/loader-runner/lib/loadLoader.js
- /app/node_modules/loader-runner/lib/LoaderRunner.js
- /app/node_modules/webpack/lib/NormalModule.js
- /app/node_modules/webpack/lib/NormalModuleFactory.js
- /app/node_modules/webpack/lib/Compiler.js
- /app/node_modules/webpack/lib/webpack.js
- /app/node_modules/react-scripts/scripts/start.js

这是我的dockerfile:

 From node:14.16.1-alpine

WORKDIR /app

ENV PATH /app/node_modules/.bin:$PATH

COPY package.json ./
COPY package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@4.0.3 -g --silent

COPY . ./

CMD ["npm", "start"]

而且我没有 docker-compose。

任何解决方案?

我将此行添加到我的 docker 文件中,但它不起作用并得到相同的错误:

 RUN npm install -g sass

原文由 Alora 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 484
2 个回答

要注意! node-sass 现在已弃用!

警告:不推荐使用 LibSass 和 Node Sass。虽然他们将继续无限期地接收维护版本,但没有计划添加额外的功能或与任何新的 CSS 或 Sass 功能兼容。仍在使用它的项目应该转移到 Dart Sass 上。

在此处输入图像描述

相反,您可以看到在 Dart sass 项目中遵循了 Sass!

react-scripts 已经朝着那个方向发展了!

在此处输入图像描述

现在使用的包是 sassnpm i -g sassnpm i sass --save-dev

如果你去 npm sass 页面

在此处输入图像描述

这个包是 Dart Sass 的一个 发行版,编译成纯 JavaScript,没有本地代码或外部依赖。它提供了一个命令行 sass 可执行文件和一个 Node.js API。

您可以使用 npm install -g sass 全局安装 Sass, 这将提供对 sass 可执行文件的访问。您也可以使用 npm install --save-dev sass 将其添加到您的项目中。 这提供了可执行文件和库

应该做什么

安装 sass

全球范围内

npm i -g sass

或者

本地

npm i sass --save-dev

我个人更喜欢总是使用本地安装!这样 npm install 会自动添加!有时也要维护每个项目的版本!

在此处输入图像描述

在此处输入图像描述

应用程序安装后编译运行!

旧版本的反应脚本

如果您在需要 node-sass 的旧版本上运行!

然后就可以更新到最新版本了!在那之前!您可能想删除 node_modulespackage-lock.json

 npm i react-scripts --save

之后 npm install 再次安装项目依赖

你可以去安装 sass 步骤

原文由 Mohamed Allal 发布,翻译遵循 CC BY-SA 4.0 许可协议

npm cache clear --force
npm install sass

原文由 Belayet Riad 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题