在构建下一个项目时防止安装npm软件包

时间:2020-06-24 09:05:18

标签: node.js npm build next.js

我正在使用Google屏蔽软件包(https://www.npmjs.com/package/blockly)。当我在开发模式下安装并在本地运行它时(npm run dev-> next),一切正常。但是,当我尝试使用下一个版本来构建项目时,它也会尝试安装jsdom包,而这又具有一个依赖关系,即canvas包。对于块式用例,我不需要这两个软件包中的任何一个(因为它可以在开发模式下运行而无需安装它们中的任何一个),但是我无法阻止在构建jsdom软件包时对其进行安装。

我如何防止next与其他软件包一起构建jsdom tgt?以下是我尝试构建项目时遇到的错误。

Module not found: Can't resolve 'canvas' in '.../node_modules/blockly/node_modules/jsdom/lib/jsdom'

这是next.config.js文件

const withPlugins = require('next-compose-plugins');
const css = require('@zeit/next-css');

const nextConfig = {
  target: 'serverless',
  webpack(config) {
    config.module.rules.push({
      test: /\.(png|svg|jpg|eot|otf|ttf|woff|woff2|mp3)$/,
      use: {
        loader: 'url-loader',
        options: {
          limit: 8192,
          publicPath: '/_next/static/',
          outputPath: 'static/',
          name: '[name].[ext]',
        },
      },
    });
    return config;
  },
};
module.exports = withPlugins([[css]], nextConfig);

非常感谢您的帮助。

0 个答案:

没有答案