File tree 4 files changed +85
-1
lines changed
4 files changed +85
-1
lines changed Original file line number Diff line number Diff line change 1
1
node_modules
2
2
webpack.sublime-project
3
3
webpack.sublime-workspace
4
+ .history
Original file line number Diff line number Diff line change 1
1
# webpack指南
2
2
3
- < http://webpack.toobug.net >
3
+ < http://webpack.toobug.net >
4
+
5
+ 本指南由TooBug根据自己的理解和使用经验编写,初衷是为了方便国内的前端开发者更好地接触和使用webpack这个强大的前端打包工具。
6
+
7
+ 初次提交诞生于2015年10月20日,彼时webpack还是1.x,国内中文文档相当少,而官方英文文档也语焉不详,饱受诟病,故诞生此指南。
8
+
9
+ 然而由于个人精力方面的原因,本指南未能如期完成。时下webpack的资料已经遍地开花,随着webpack 2的发布,一方面官方文档也趋于完善,另一方面很多配置和用法已不再兼容,因此本指南的部分内容可能存在不准确的情况,请读者自行鉴别。
10
+
11
+ 另外,本指南有可能长期弃坑……
Original file line number Diff line number Diff line change 32
32
* [ Gulp] ( chapter5/gulp.md )
33
33
* [ 第六章 杂谈] ( chapter6/README.md )
34
34
* [ jQuery的引入] ( chapter6/jquery.md )
35
+ * [ TypeScript和Vue] ( chapter6/ts-and-vue.md )
Original file line number Diff line number Diff line change
1
+ # TypeScript与Vue
2
+
3
+ > 本文适用于webpack 2+
4
+
5
+ ## TypeScript(ts-loader)
6
+
7
+ 要使用TypeScript的话,只需要将文件名后缀改成` .ts ` ,并引入` ts-loader ` 进行处理即可。
8
+
9
+ 例如我们有一个TS文件:
10
+
11
+ ``` typescript
12
+ function a(num : number ){
13
+ return num + 1 ;
14
+ }
15
+
16
+ console .log (a (5 ));
17
+ ```
18
+
19
+ 只需要在` webpack.config.js ` 中配置一下(注意这是webpack 2+的配置):
20
+
21
+ ``` javascript
22
+ module: {
23
+ rules: [{
24
+ test: / \. ts$ / ,
25
+ loader: ' ts-loader' ,
26
+ }]
27
+ }
28
+ ```
29
+
30
+ 即可。
31
+
32
+ ## Vue单文件组件(vue-loader)
33
+
34
+ Vue为我们提供了单文件组件的写法,例如下面的` test.vue ` :
35
+
36
+ ``` vue
37
+ <style>
38
+ div{
39
+ color:red;
40
+ }
41
+ </style>
42
+ <template>
43
+ <div>{{message}}</div>
44
+ </template>
45
+ <script>
46
+ import Vue from 'vue/dist/vue.esm.js';
47
+ new Vue({
48
+ data: function(){
49
+ return {
50
+ message: 'hello'
51
+ }
52
+ }
53
+ });
54
+ </script>
55
+ ```
56
+
57
+ 这种写法需要使用` vue-loader ` 转换成纯JS文件才可以正常在浏览器中运行。和使用` ts-loader ` 类似,只要使用` vue-loader ` 处理即可,这里就不再演示。唯一值得注意的是` vue-loader ` 会需要同时安装几个模块,如果弄不清楚的话,安装` vue-loader ` 的时候留意一下npm的输出,把需要的模块都装上就可以了。
58
+
59
+ ## TypeScript + Vue
60
+
61
+ 基本用法就是同时加上` ts-loader ` 和` vue-loader ` 。但是` ts-loader ` 需要加上两个选项:
62
+
63
+ ``` javascript
64
+ options: {
65
+ transpileOnly: true ,
66
+ appendTsSuffixTo: [/ \. vue$ / ],
67
+ }
68
+ ```
69
+
70
+ ` transpileOnly ` 的含义是指让` ts-loader ` 只做转译。什么意思呢?就是不加这个选项的话,它会把转义的结果写入到文件中,而不是在内存中由webpack来处理,这会导致后续loader无法处理` ts-loader ` 的结果。所以加上` transpileOnly ` 让它按webpack的操作来,这样后续loader就可以继续处理。
71
+
72
+ ` appendTsSuffixTo ` 的含义是碰到` .vue ` 结尾的文件时,加上` .ts ` 的后缀,这样` ts-loader ` 就会去处理` .vue ` 文件中的ts代码。
73
+
74
+ 另外在使用TypeScript编写Vue代码时,可能会碰到一些类型上的问题,可以参见Vue的官方文档:< https://vuejs.org/v2/guide/typescript.html >
You can’t perform that action at this time.
0 commit comments