zoukankan      html  css  js  c++  java
  • 解决nextjs部署到now上之后出现的“Unable to import module 'now__launcher'”错误

    解决nextjs部署到now上之后出现的“Unable to import module 'now__launcher'”错误

    这个错误是由于在next.config.js中直接引用了withLess之类的插件导致的。在now环境下require插件需要在PHASE_PRODUCTION_SERVER阶段下,如果不加这个阶段的判断就会报错。

    这个是错误的做法

    // ❌ Don't put this here

    const withCSS = require('@zeit/next-css'); // 由于不在PHASE_PRODUCTION_SERVER阶段所以报错
    
    const { PHASE_PRODUCTION_SERVER } =
    
      process.env.NODE_ENV === 'development'
    
        ? {}
    
        : !process.env.NOW_REGION
    
          ? require('next/constants')
    
          : require('next-server/constants');
    
    module.exports = (phase, { defaultConfig }) => {
    
      if (phase === PHASE_PRODUCTION_SERVER) {
    
        // Config used to run in production.
    
        return {};
    
      }
    
     
    
      return withCSS();
    
    };

    正确的写法:

    const { PHASE_PRODUCTION_SERVER } =
    
      process.env.NODE_ENV === 'development'
    
        ? {}
    
        : !process.env.NOW_REGION
    
          ? require('next/constants')
    
          : require('next-server/constants');
    
    module.exports = (phase, { defaultConfig }) => {
    
      if (phase === PHASE_PRODUCTION_SERVER) {
    
        // Config used to run in production.
    
        return {};
    
      }
    
     
    
      // ✅ Put the require call here.
    
      const withCSS = require('@zeit/next-css');
    
     
    
      return withCSS();
    
    };

    参考:https://github.com/zeit/next.js/issues/5750

  • 相关阅读:
    008 WEBmvc的自动配置
    007 springboot的日志问题
    006 自动配置
    005 profile
    004 引入spring的xml配置文件
    003 场景启动器
    002 依赖管理
    001-属性文件
    TypeError: FileBox.fromUrl is not a function
    npm 的是报错 @XXXXX postinstall 处理
  • 原文地址:https://www.cnblogs.com/axel10/p/10260086.html
Copyright © 2011-2022 走看看