use*_*212 8 javascript node.js typescript webpack
我有一个由多个应用程序组成的项目,希望能够使用全局 webpack.config.js 和 webpack 3.0(有效)构建完整的项目。同时,我希望有本地的 webpack.config.js 文件来单独构建每个项目。项目结构如下:
- src
- project_1
...
webpack.config.js
...
- project_n
...
webpack.config.js
...
node_modules
webpack.config.js
Run Code Online (Sandbox Code Playgroud)
显然,我不想复制项目子文件夹中的 node_modules。如何从项目子文件夹的 webpack.config.js 中引用全局 node_modules 文件夹?
我试过
resolve: {
modules: [path.resolve(__dirname,'../node_modules')]
},
Run Code Online (Sandbox Code Playgroud)
在子文件夹 webpack 配置之一中,但我收到了许多此类错误
错误 TS2304:找不到名称 [...]
因为显然无法找到 node_modules 。
这是我用于 project_1 的完整 webpack.config.js:
var webpack = require('webpack');
const path = require("path")
module.exports = {
entry: path.resolve(__dirname, "src/project_1.ts"),
output: {
filename: "project_1_bundle.js",
path: path.resolve(__dirname, "bin")
},
externals: [
"angular",
"uuid",
{
"lodash": {
commonjs: "lodash",
amd: "lodash",
root: "_" // indicates global variable
}
},
{
"jquery": {
root: "$",
amd: "jquery",
commonjs: 'jquery'
}
},
{
"jquery-ui": {
amd: "jquery-ui",
commonjs: 'jquery-ui'
}
},
{
"Slick": {
root: "Slick",
amd: "Slick",
commonjs: 'Slick'
}
}
],
devtool: 'source-map',
resolve: {
// Add `.ts` and `.tsx` as a resolvable extension.
extensions: ['.webpack.js', '.web.js', '.ts', '.tsx', '.js'],
modules: [path.resolve(__dirname,'../node_modules')]
},
module: {
rules: [
{
enforce: 'pre',
test: /\.ts$/,
use: ['tslint-loader']
},
{
test: /\.tsx?$/,
use: ['ts-loader']
},
{
test: /\.html$/,
use: ['html-loader']
}
]
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9265 次 |
| 最近记录: |