Я использую Vite для компиляции активов для моей пользовательской темы WordPress. Проблема в том, что мои локальные домены разработки используют .test tld вместо домена .com . Если у меня есть URL-адреса с жестким кодом в typography.scss , мне приходится вручную менять их каждый раз, когда я переключается между локальными и производственными средами. Я хочу использовать эту переменную, чтобы динамически установить URL -адреса в typography.scss , но независимо от того, что я пробую, она не работает.
ошибка:
vite build
vite v6.0.3 building for production...
✓ 0 modules transformed.
x Build failed in 593ms
error during build:
[vite:css] [sass] Undefined variable.
╷
5 │ src: url('#{$app-url}/wp-content/themes/custom_theme/static/fonts/pnr.woff2') format('woff2'),
│ ^^^^^^^^
╵
src/scss/typography.scss 5:17 @use
src/scss/theme-frontend.scss 8:1 root stylesheet
file: /home/user/www/example.test/wp-content/themes/custom_theme/src/scss/theme-frontend.scss
[sass] Undefined variable.
╷
5 │ src: url('#{$app-url}/wp-content/themes/custom_theme/static/fonts/pnr.woff2') format('woff2'),
│ ^^^^^^^^
╵
src/scss/typography.scss 5:17 @use
src/scss/theme-frontend.scss 8:1 root stylesheet
Error: Undefined variable.
╷
5 │ src: url('#{$app-url}/wp-content/themes/custom_theme/static/fonts/pnr.woff2') format('woff2'),
│ ^^^^^^^^
╵
< /code>
variables.scss
$app-url: 'https://example.com';
Если я импортирую переменные непосредственно в SCS, они работают, но это не помогает моей проблеме без @USE 'переменных' как *; Я получаю ошибку выше
h2>-типография.@use 'variables' as *;
@font-face {
font-family: 'PNR';
src: url('#{$app-url}/wp-content/themes/theme/static/fonts/pnr.woff2') format('woff2'),
url('#{$app-url}/wp-content/themes/theme/static/fonts/pnr.woff') format('woff'),
url('#{$app-url}/wp-content/themes/theme/static/fonts/pnr.ttf') format('truetype');
font-weight: normal;
font-style: normal;
font-display: swap;
}
< /code>
Если я попробую импортировать одну строку с переменной в каждый файл, он не работает, и бросает аналогично вышеуказанной ошибке < /p>
css: {
preprocessorOptions: {
scss: {
additionalData: `$app-url: ${appUrl};`,
},
},
}
< /code>
Вот моя текущая конфигурация Vite. Любые предложения будут высоко оценены.import { defineConfig } from "vite"
import laravel from "laravel-vite-plugin"
import path from "path"
export default defineConfig(({ mode }) => {
const appUrl = "https://example.com"
return {
plugins: [
laravel({
input: [
"src/scss/theme-frontend.scss",
],
publicDirectory: "static/build",
}),
],
build: {
outDir: "./static/build",
rollupOptions: {
output: {
globals: {
jquery: "window.$",
},
},
},
},
server: {
host: "0.0.0.0",
https: {
key: "./ssl/localhost.key",
cert: "./ssl/localhost.crt",
},
hmr: {
host: "localhost"
},
},
resolve: {
alias: {
"~": path.resolve(__dirname, "src"),
"@scss": path.resolve(__dirname, "src/scss"),
},
},
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "${ path.resolve(__dirname, 'src/scss/variables.scss') }" as *;`,
},
},
},
}
}
)
Подробнее здесь: https://stackoverflow.com/questions/796 ... sass-setup
Как импортировать переменные JavaScript в настройку sass sass? ⇐ CSS
Разбираемся в CSS
-
Anonymous
1746450579
Anonymous
Я использую Vite для компиляции активов для моей пользовательской темы WordPress. Проблема в том, что мои локальные домены разработки используют .test tld вместо домена .com . Если у меня есть URL-адреса с жестким кодом в typography.scss , мне приходится вручную менять их каждый раз, когда я переключается между локальными и производственными средами. Я хочу использовать эту переменную, чтобы динамически установить URL -адреса в typography.scss , но независимо от того, что я пробую, она не работает.
ошибка:
vite build
vite v6.0.3 building for production...
✓ 0 modules transformed.
x Build failed in 593ms
error during build:
[vite:css] [sass] Undefined variable.
╷
5 │ src: url('#{$app-url}/wp-content/themes/custom_theme/static/fonts/pnr.woff2') format('woff2'),
│ ^^^^^^^^
╵
src/scss/typography.scss 5:17 @use
src/scss/theme-frontend.scss 8:1 root stylesheet
file: /home/user/www/example.test/wp-content/themes/custom_theme/src/scss/theme-frontend.scss
[sass] Undefined variable.
╷
5 │ src: url('#{$app-url}/wp-content/themes/custom_theme/static/fonts/pnr.woff2') format('woff2'),
│ ^^^^^^^^
╵
src/scss/typography.scss 5:17 @use
src/scss/theme-frontend.scss 8:1 root stylesheet
Error: Undefined variable.
╷
5 │ src: url('#{$app-url}/wp-content/themes/custom_theme/static/fonts/pnr.woff2') format('woff2'),
│ ^^^^^^^^
╵
< /code>
variables.scss
$app-url: 'https://example.com';
Если я импортирую переменные непосредственно в SCS, они работают, но это не помогает моей проблеме без @USE 'переменных' как *; Я получаю ошибку выше
h2>-типография.@use 'variables' as *;
@font-face {
font-family: 'PNR';
src: url('#{$app-url}/wp-content/themes/theme/static/fonts/pnr.woff2') format('woff2'),
url('#{$app-url}/wp-content/themes/theme/static/fonts/pnr.woff') format('woff'),
url('#{$app-url}/wp-content/themes/theme/static/fonts/pnr.ttf') format('truetype');
font-weight: normal;
font-style: normal;
font-display: swap;
}
< /code>
Если я попробую импортировать одну строку с переменной в каждый файл, он не работает, и бросает аналогично вышеуказанной ошибке < /p>
css: {
preprocessorOptions: {
scss: {
additionalData: `$app-url: ${appUrl};`,
},
},
}
< /code>
Вот моя текущая конфигурация Vite. Любые предложения будут высоко оценены.import { defineConfig } from "vite"
import laravel from "laravel-vite-plugin"
import path from "path"
export default defineConfig(({ mode }) => {
const appUrl = "https://example.com"
return {
plugins: [
laravel({
input: [
"src/scss/theme-frontend.scss",
],
publicDirectory: "static/build",
}),
],
build: {
outDir: "./static/build",
rollupOptions: {
output: {
globals: {
jquery: "window.$",
},
},
},
},
server: {
host: "0.0.0.0",
https: {
key: "./ssl/localhost.key",
cert: "./ssl/localhost.crt",
},
hmr: {
host: "localhost"
},
},
resolve: {
alias: {
"~": path.resolve(__dirname, "src"),
"@scss": path.resolve(__dirname, "src/scss"),
},
},
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "${ path.resolve(__dirname, 'src/scss/variables.scss') }" as *;`,
},
},
},
}
}
)
Подробнее здесь: [url]https://stackoverflow.com/questions/79606976/how-to-import-javascript-variables-into-vite-sass-setup[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия