我写了一个React应用程序并尝试码头化它。
我执行此操作后,它无法正确编译,它找不到sass
模块,错误是:
编译失败。
./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)
找不到模块“sass”需要堆栈:
- /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
这是我的docker文件:
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 [email protected] /cdn-cgi/l/email-protection -g --silent
COPY . ./
CMD ["npm", "start"]
我没有docker 撰写.
有什么解决办法吗?
我将此行添加到我的 docker 文件中,但它不起作用并给我带来相同的错误:
RUN npm install -g sass
要注意!node-sass
到目前为止已被弃用!
警告:LibSass 和 Node Sass 已弃用。虽然他们将继续无限期地接收维护版本,但没有计划添加其他功能或与任何新的 CSS 或 Sass 功能兼容。仍在使用它的项目应该转移到达特·萨斯 https://sass-lang.com/dart-sass.
相反,您可以看到 Sass 被关注飞镖萨斯项目!
反应脚本已经往那个方向移动了!
现在使用的包是sass! npm i -g sass
or npm i sass --save-dev
如果你去npmsass
page https://www.npmjs.com/package/sass
这个包是一个分配 of 达特·萨斯,编译为纯 JavaScript,没有本机代码或外部依赖项。它提供了命令行 sass 可执行文件和 Node.js API。
您可以使用以下命令全局安装 Sassnpm install -g sass
这将提供对 sass 可执行文件的访问。您还可以使用将其添加到您的项目中npm install --save-dev sass
. 这提供了可执行文件以及库.
应该做什么
Install sass
Globally
npm i -g sass
or
Locally
npm i sass --save-dev
我个人更喜欢始终进行本地安装!以便npm install
会自动添加!有时也需要维护每个项目的版本!
And
应用程序编译并安装后运行!
旧版本的反应脚本
如果您运行在需要node-sass的旧版本上!
然后就可以更新到最新版本了!在那之前!您可能想删除node_modules
and package-lock.json
.
npm i react-scripts --save
在那之后npm install
再次安装项目依赖项
你可以去安装sass
step
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)