Soc*_*tes 5 css sass electron electron-forge
我使用 Electron Forge 作为 Electron 应用程序。我还使用 React 和 TypeScript,我也想使用 SASS,但我目前的尝试失败了。显然 SASS 已经可以工作,无需添加任何新的依赖项package.json,aselectron-compile就可以解决这个问题。这就是Electronforge.io上Develop下的内容。
我尝试在第一个 TypeScript 类中添加style.scss作为导入app.tsx,但添加此编译后不再起作用:
import "./style/style.scss";
Run Code Online (Sandbox Code Playgroud)
导致:
[24717:0221/194746.779571:ERROR:CONSOLE(7830)] "Extension server error: Object not found: <top>", source: chrome-devtools://devtools/bundled/shell.js (7830)
Run Code Online (Sandbox Code Playgroud)
我还尝试将一个link元素放入head中的元素中index.html,但这也不起作用。编译工作正常,但 CSS 工作尚未完成:
<link rel="stylesheet" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)
还尝试过:
<link rel="stylesheet" type="text/css" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)
和:
<link rel="stylesheet" type="text/scss" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)
和:
<link rel="stylesheet" type="text/sass" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)
“style.scss”文件:
body {
background-color: #ff0000;
color: #0000ff;
}
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用。我必须做什么才能在 Electron Forge 中使用 SASS 文件?
小智 6
我已经成功地完成了这项工作,虽然有点晚了,但希望这对将来的人有帮助。在使用 webpack 的示例应用程序中(因为我很确定这是必需的),Electron Forge 在 webpack 配置的根目录中生成一些 js 文件。
yarn create electron-app my-new-app --template=webpack
Run Code Online (Sandbox Code Playgroud)
或者
yarn create electron-app my-new-app --template=typescript,webpack
Run Code Online (Sandbox Code Playgroud)
https://www.electronforge.io/templates/typescript-+-webpack-template
接下来,项目根目录中有两个文件,webpack.rules.js和webpack.plugins.main.config.js. 这些需要修改才能正常工作,并且需要sass-loader作为开发依赖项安装。node-sass最近已被弃用,所以sass-loader可以处理这个问题。
您的webpack.plugins.main.config.js文件应包括:
module: {
rules: require("./webpack.rules"),
},
resolve: {
extensions: [
".js",
".ts",
".jsx",
".tsx",
".css",
".json",
".scss",
".sass",
],
},
Run Code Online (Sandbox Code Playgroud)
此外,您的webpack.rules.js文件应该添加一条新规则:
{
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",
],
},
Run Code Online (Sandbox Code Playgroud)
这是 页面上的文档中提供的内容sass-loader,已正确实施到 Electron Forge 中。https://www.npmjs.com/package/sass-loader
最后,您的 renderer.js (或 renderer.js)应该适合导入 scss 文件而不是 css 文件。
import './index.scss';
Run Code Online (Sandbox Code Playgroud)
从那里,你应该可以开始了!
需要编译SASS文件生成一个CSS文件然后放到index.html 哟可以用控制台试试
# Path to SASS File > OUTPUT path to CSS File
sass style/sass/style.scss style/style.css
Run Code Online (Sandbox Code Playgroud)
然后,导入head中的文件
<link rel="stylesheet" href="style/style.css">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9753 次 |
| 最近记录: |