Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js需要网页包模块_Javascript_Node.js_Npm_Webpack_Node Modules - Fatal编程技术网

Javascript Node.js需要网页包模块

Javascript Node.js需要网页包模块,javascript,node.js,npm,webpack,node-modules,Javascript,Node.js,Npm,Webpack,Node Modules,我正试图摆脱在npm安装后得到的上千个文件,因为各个模块都有自己的依赖项 因此,我考虑只使用webpack将库编译成一个javascript文件(以及其他必需的资源),然后通过以下方式将其加载到Node.js项目中: 入口点,该入口点将通过webpack编译成bundle module.exports = { lodash : require('lodash'), colors : require('colors'), test : require('test'),

我正试图摆脱在
npm安装后得到的上千个文件,因为各个模块都有自己的依赖项

因此,我考虑只使用webpack将库编译成一个javascript文件(以及其他必需的资源),然后通过以下方式将其加载到Node.js项目中:

  • 入口点,该入口点将通过webpack编译成bundle

    module.exports = {
        lodash : require('lodash'),
        colors : require('colors'),
        test : require('test'),
        abc : require('abc')
    } ;
    
  • 主要

    var { lodash, colors, test, abc } = require('./lib/bundle') ;
    
我遇到的问题是,有些模块需要系统(或不可编译的)模块,例如
fs
,而webpack试图将它们绑定到。 您只需在
webpack.config.js
文件中指定:

node: {
    fs : "empty",
    electron : "empty"
}
然而,一旦打包到bundle中,似乎每个
require('fs')
都被
Object.freeze({})
替换,因为这个设置,然后模块使用
fs
失败


有人能在Node.js项目中使用打包模块吗


注意:我尝试使用纱线
纱线自动清理-强制
删除所有不必要的文件,但它只删除了总数的5%到10%。

使用当前
节点
配置对象和设置
fs:“empty”
的问题是,它将为这些模块提供一个空对象。有关网页包节点的详细信息

您可以将Webpack
target
属性设置为

编译以在类似Node.js的环境中使用(使用Node.js
require
加载块,不接触任何内置模块,如
fs
path

阅读更多关于Webpack的信息

此外,要导入内置模块,请使用

生成Web包未解析的
require
函数

module.exports = {
  target: 'node'
};