首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SASS电子锻造

SASS电子锻造
EN

Stack Overflow用户
提问于 2019-02-21 18:57:03
回答 2查看 7.6K关注 0票数 4

我用电子锻造做一个电子应用程序。我还使用了React和TypeScript,我也想使用SASS,但是我目前的尝试失败了。很明显,SASS已经在没有向package.json中添加任何新的依赖项的情况下工作了,因为electron-compile会处理这个问题。这就是它在正在开发的electronforge.io上运行的内容。

我尝试将style.scss作为导入添加到第一个TypeScript类app.tsx中,但是在添加此编译之后不再工作了:

代码语言:javascript
复制
import "./style/style.scss";

导致:

代码语言:javascript
复制
[24717:0221/194746.779571:ERROR:CONSOLE(7830)] "Extension server error: Object not found: <top>", source: chrome-devtools://devtools/bundled/shell.js (7830)

我还尝试将一个link元素放入index.html中的head元素中,但这也不起作用。编译作品,但不执行CSS工作:

代码语言:javascript
复制
<link rel="stylesheet" href="style/style.scss">

也曾尝试过:

代码语言:javascript
复制
<link rel="stylesheet" type="text/css" href="style/style.scss">

以及:

代码语言:javascript
复制
<link rel="stylesheet" type="text/scss" href="style/style.scss">

以及:

代码语言:javascript
复制
<link rel="stylesheet" type="text/sass" href="style/style.scss">

'style.scss`文件:

代码语言:javascript
复制
body {
    background-color: #ff0000;
    color: #0000ff;
}

但它们都不管用。我应该怎么做才能利用电子伪造中的SASS文件?

EN

回答 2

Stack Overflow用户

发布于 2020-12-27 05:06:45

我已经成功的工作了,有点晚,但希望这对未来的人有所帮助。在使用webpack的示例应用程序中(我非常肯定这是必需的),电子Forge在根目录中为webpack config生成一些js文件。

代码语言:javascript
复制
yarn create electron-app my-new-app --template=webpack

代码语言:javascript
复制
yarn create electron-app my-new-app --template=typescript,webpack

https://www.electronforge.io/templates/typescript-+-webpack-template

在此之后,项目根目录中有两个文件,webpack.rules.jswebpack.plugins.main.config.js。这些需要修改才能正常工作,并且您需要将sass-loader作为一个dev依赖项来安装。node-sass最近被否决了,所以sass-loader会处理好的。

您的webpack.plugins.main.config.js文件应该包括:

代码语言:javascript
复制
module: {
  rules: require("./webpack.rules"),
},
resolve: {
  extensions: [
    ".js",
    ".ts",
    ".jsx",
    ".tsx",
    ".css",
    ".json",
    ".scss",
    ".sass",
  ],
},

此外,您的webpack.rules.js文件应该添加一个新规则:

代码语言:javascript
复制
{
  test: /\.s[ac]ss$/i,
  use: [
    // Creates `style` nodes from JS strings
    "style-loader",
    // Translates CSS into CommonJS
    "css-loader",
    // Compiles Sass to CSS
    "sass-loader",
  ],
},

这就是sass-loader页面上的文档中提供的内容,这些文档被正确地实现为电子伪造。https://www.npmjs.com/package/sass-loader

最后,您的renderer.js (或renderer.js)应该修改为导入一个scss文件,而不是一个css文件。

代码语言:javascript
复制
import './index.scss';

从那以后,你就可以走了!

票数 3
EN

Stack Overflow用户

发布于 2019-02-21 19:06:03

您需要编译SASS文件以生成CSS文件,然后将其放入index.html中,Yo可以使用控制台进行尝试。

代码语言:javascript
复制
# Path to SASS File > OUTPUT path to CSS File
sass style/sass/style.scss style/style.css

然后,将文件导入头部。

代码语言:javascript
复制
<link rel="stylesheet" href="style/style.css">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54814308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档