Webpack和Express-严重依赖项警告
我有以下Webpack和Express-严重依赖项警告,express,webpack,Express,Webpack,我有以下webpack.config.ts: var webpack = require( 'webpack' ); var path = require( 'path' ); module.exports = { entry: [ './api/bin/www.ts' ], output: { path: path.resolve( __dirname, './dist/api' ), filename: 'index.js' }, module
webpack.config.ts
:
var webpack = require( 'webpack' );
var path = require( 'path' );
module.exports = {
entry: [
'./api/bin/www.ts'
],
output: {
path: path.resolve( __dirname, './dist/api' ),
filename: 'index.js'
},
module: {
loaders: [
{ test: /\.ts$/, loader: 'awesome-typescript-loader' },
{ test: /\.json$/, loader: 'json-loader' }
]
},
resolve: {
extensions: [ '', '.js', '.ts' ]
},
target: 'node',
node: {
console: true,
fs: 'empty',
net: 'empty',
tls: 'empty'
}
};
当我运行webpack时,会收到一条关于依赖关系的警告:
WARNING in ./~/express/lib/view.js
Critical dependencies:
78:29-56 the request of a dependency is an expression
@ ./~/express/lib/view.js 78:29-56
我开始使用的express server只不过是一个Hello World
示例,而且的功能应该是正常的,但我担心这个警告
我的谷歌搜索引擎没有透露任何可行的解决方案。我已经看到了这个问题的一个特定实例,但解决方案是通过不显示警告来绕过警告。使用webpack节点外部
const nodeExternals = require('webpack-node-externals');
{
target: 'node',
externals: [nodeExternals()],
}
对于那些由于此处提到的视图库而只需要删除express的用户,您还可以从您的Web包配置中显式地以externals中的express为目标
externals:[{'express':{commonjs:'express'}}]
除了排除要与nodeExternals绑定的所有npm依赖项之外,您还可以通过替换本机要求仅排除express
从“express”导入express;
//或
const express=require('express');
到
const express=\uuuuuu non\uu webpack\uu require\uuuuuuu('express');
这将抑制由express引起的警告您可以包含view.js的代码吗?尝试使用webpack node externals plugin@leo,它不是我的repo中的文件,它只是通过express包含的。我想当我从express导入时,我真的很困惑。OP说这个文件是“webpack.config.*ts*”(我的重点),但我看到的其他所有东西都说这应该是一个.js文件,而且它的语法似乎与JavaScript文件更为一致。这只是一个打字错误吗?@Everettss太糟糕了,你没有提供这个提示作为答案。。。lol.这消除了我的错误,但它是如何不生成区块文件的?
Webpack:output server.0.chunk.js,Webpack:output server.1.chunk.js,Webpack:output server.2.chunk.js,Webpack:output server.3.chunk.js
我怎么能将import和require放在一起?@mohit,也许你忘了nodeExternal的圆括号,和我一样:):外部:[nodeExternal()]很好的解决方案。在我的例子中,我还需要将输出:{…clientOutput,libraryTarget:'commonjs'},
添加到我的webpack.config,以避免module.exports=在我的包中未定义(根据)