我想将 Linaria 库(https://github.com/callstack/linaria)与 nextJS 一起使用。现在我就按照文档实现了。但发生了下一个错误。
全局 CSS 无法从 Custom 以外的文件导入。请将所有全局CSS导入移至pages/_app.js。了解更多: https: //err.sh/next.js/css-global
我理解这个错误。但我想知道。如何将 Linaria 与 NextJS 结合使用?
{
"presets": ["next/babel", "linaria/babel"],
}
Run Code Online (Sandbox Code Playgroud)
const path = require("path");
module.exports = {
webpackDevMiddleware: (config) => {
config.watchOptions = {
poll: 1000,
aggregateTimeout: 300,
};
return config;
},
webpack: (config) => {
config.module.rules.push({
test: /\.tsx$/,
use: [
{
loader: "linaria/loader",
options: {
sourceMap: process.env.NODE_ENV !== "production",
},
},
],
});
return config;
},
};
Run Code Online (Sandbox Code Playgroud)
最近有一个关于这个主题的 linaria问题。人们似乎通过以下next.config.js
配置获得了成功:
const withCSS = require('@zeit/next-css');
module.exports = withCSS({
webpack(config) {
// retrieve the rule without knowing its order
const jsLoaderRule = config.module.rules.find(
(rule) => rule.test instanceof RegExp && rule.test.test('.js')
);
const linariaLoader = {
loader: 'linaria/loader',
options: {
sourceMap: process.env.NODE_ENV !== 'production',
},
};
if (Array.isArray(jsLoaderRule.use)) {
jsLoaderRule.use.push(linariaLoader);
} else {
jsLoaderRule.use = [jsLoaderRule.use, linariaLoader];
}
return config;
},
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4729 次 |
最近记录: |