我正在尝试学习Typescript,我想我也应该在.ts
中设置我的webpack配置。这是我的webpack.config.ts
import * as webpack from 'webpack';
import * as path from 'path';
const config: webpack.Configuration = {
entry: path.resolve('src/main.ts'),
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
output: {
filename: 'index.js',
path: path.resolve( 'dist')
}
}
export default config;
以及我的package.json
"main": "index.js",
"scripts": {
"prebuild": "rimraf dist",
"build": "webpack --config devtools/webpack.config.ts --display-error-details",
"post-build": "webpack-dev-server --config devtools/webpack.config.ts --mode development"
},
"author": "",
"license": "ISC",
"devDependencies": {
"ts-loader": "^4.0.1",
"ts-node": "^5.0.1",
"typescript": "^2.7.2",
"webpack": "^4.1.1",
"webpack-cli": "^2.0.12",
"webpack-dev-server": "^3.1.1"
}
}
运行npm run build时,我得到的错误是:
TS2307: Cannot find module 'path'
我也尝试过请求路径,但是我得到一个不同的错误,说它找不到需要的模块。
问题出在哪里?
发布于 2018-11-15 12:13:41
这应该会有帮助
npm i @types/node -D
typescript需要为任何模块键入类型,除非该模块不是用Typescript编写的。
发布于 2018-03-16 17:26:44
尝试使用require
语法而不是import
&将webpack.config.ts
更改为以下代码
webpack.config.ts
const webpack = require('webpack');
const path = require('path');
const config: webpack.Configuration = {
entry: path.resolve('src/main.ts'),
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
output: {
filename: 'index.js',
path: path.resolve( 'dist')
}
}
module.exports = config;
然后运行npm run build
发布于 2018-11-15 12:10:15
首先,不需要对webpack配置文件进行.ts
扩展。它只是构建捆绑包的内部目的。使用普通的.js
文件。
Webpack不是由浏览器运行的,它是由Node Js
运行的,它运行的是webpack模块,并根据配置进行捆绑。
现在Node Js
明白了它自己的模块系统是require
下面是Node模块导入语法require。
const webpack = require('webpack');
const path = require('path');
https://stackoverflow.com/questions/49307319
复制相似问题