将webpack与TS进行集成。
1. 安装TypeScript 编译器和 loader
npm install --save-dev typescript ts-loader
2. 在package.json同级目录下新建tsconfig.json
{ "compilerOptions": { "outDir": "./dist/", "noImplicitAny": true,
"sourceMap": true, // 启用SourceMap功能 "module": "es6", "target": "es5", "jsx": "react", "allowJs": true } }
3. 修改webpack.common.js
module.exports = { + entry: { + app: './src/index.ts' + }, output: { filename: '[name].[chunkhash].js', path: path.resolve(__dirname, 'dist') }, module:{ rules:[ + { + test:/\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ } ] }, + resolve:{ + extensions:['.ts', '.tsx', '.js'] + }, }
ts-loader 在这里使用它可以方便地启用额外的webpack功能,例如将额外的web资源导入项目。
4. 三方库的使用
当ts文件中使用 npm 安装第三方库时,一定要同时安装这个库的类型声明文件。你可以从 TypeSearch 中找到并安装这些第三方库的类型声明文件。
如:lodash
npm install --save-dev @types/lodash
5. 非代码文件的使用
创建 custom.d.ts
文件,用来编写自定义的类型声明。同样的理念适用于其他资源,包括 CSS, SCSS, JSON 等。
.svg
文件进行声明设置:
declare module "*.svg" { const content: any; export default content; }
通过指定任何以 .svg
结尾的导入,将模块的 content
定义为 any
,将 SVG 声明一个新的模块。我们可以通过将类型定义为字符串,来更加显式地将它声明为一个 url。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。