我正在尝试找出如何在 Next.js 中将 Tailwind 与 CSS Modules 一起使用的良好工作流程,但我遇到了一些关于 Webpack 插入样式的特异性和顺序的棘手问题。
考虑以下用例:我想创建一个可重用的 Button 组件,其样式可以被实用程序类覆盖。选项 1是提取组件,如Tailwind Docs 中所述:
/* button.jsx */
export const Button = props => <button {...props} className={`btn {props.className}`} />
Run Code Online (Sandbox Code Playgroud)
在我的tailwind.css文件中,我将在@layer指令中添加类名:
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer components {
.btn { @apply ... }
}
Run Code Online (Sandbox Code Playgroud)
这很好,因为我可以使用实用程序类覆盖任何按钮样式,因为它们具有更高的特异性。但是,我在这里看到了一些小问题:
选项 2是使用 CSS 模块并应用如下类:
/* button.module.css */
.btn { @apply ...}
Run Code Online (Sandbox Code Playgroud)
/* button.jsx */
import styles from "./button.module.css";
export const …Run Code Online (Sandbox Code Playgroud) 我正在尝试将包发布到 npm。您可以在此处查看存储库:https : //github.com/biowaffeln/mdx-state
我使用 登录到 npm npm login,然后运行npm publish并收到以下错误消息:
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/mdx-state - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.
Run Code Online (Sandbox Code Playgroud)
我不知道那是什么意思。我错过了什么?
好的,所以我正在遵循这里关于如何设置简单的 Google 应用程序脚本的教程,但我被困在18:50左右。我在执行与视频中完全相同的操作时收到错误消息。
我的 Code.gs 文件中有以下代码:
function myFunction() {
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();
activeSheet.getRange("D2").setValue(99);
}
Run Code Online (Sandbox Code Playgroud)
以及在另一个选项卡中打开的电子表格。但每次我尝试运行“myFunction”时,都会收到以下错误消息:
TypeError: Cannot call method "getActiveSheet" of null. (line 5, file "Code")
因此由于某种原因var ss = app.getActiveSpreadsheet();显然返回 null。当我用 替换该行时它可以工作var ss = app.openById('MySpreadsheetIdHere');,但是对 id 进行硬编码确实不是我想要的,我想让这个脚本与任何任意打开的电子表格一起使用。
通过“运行”>“测试”作为附加组件运行代码也不起作用。
从我收集到的类似问题来看,似乎很难重现这个问题,以下是重现的确切步骤:
有人看到我错过了什么吗?