As *_*low 3 javascript typescript webpack
我正在尝试学习Typescript,并认为我也应该在中进行webpack配置.ts。这是我的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;
Run Code Online (Sandbox Code Playgroud)
以及我的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"
}
}
Run Code Online (Sandbox Code Playgroud)
运行npm run build时出现的错误是:
TS2307: Cannot find module 'path'
Run Code Online (Sandbox Code Playgroud)
我也尝试过要求路径,但是随后出现另一个错误,提示它找不到模块要求。
似乎是什么问题?
Oma*_*imi 12
使用
"types": ["node"]
Run Code Online (Sandbox Code Playgroud)
正如tsconfig.json评论中提到的,为我解决了这个问题。
Nur*_*yev 11
这应该有帮助
npm i @types/node -D
Run Code Online (Sandbox Code Playgroud)
打字稿需要为任何模块打字,除非该模块不是用打字稿编写的。
dea*_*904 -6
尝试使用require语法而不是import& 更改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;
Run Code Online (Sandbox Code Playgroud)
然后运行npm run build
| 归档时间: |
|
| 查看次数: |
5834 次 |
| 最近记录: |