Skip to content

Commit 3ea258b

Browse files
committedOct 24, 2017
解决require引用的bug
1 parent 7da345c commit 3ea258b

File tree

6 files changed

+141
-143
lines changed

6 files changed

+141
-143
lines changed
 

‎build/utils.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ exports.assetsPath = function(_path) {
1616

1717
exports.cssLoaders = function(options) {
1818
options = options || {};
19+
const isSourceMap = !!options.sourceMap;
1920

2021
const cssLoader = {
2122
loader: 'css-loader',
2223
options: {
2324
minimize: process.env.NODE_ENV === 'production',
24-
sourceMap: options.sourceMap
25+
sourceMap: isSourceMap
2526
}
2627
};
2728

@@ -30,14 +31,14 @@ exports.cssLoaders = function(options) {
3031
const loaders = [cssLoader, {
3132
loader: 'postcss-loader',
3233
options: {
33-
sourceMap: false
34+
sourceMap: isSourceMap
3435
}
3536
}];
3637
if (loader) {
3738
loaders.push({
3839
loader: loader + '-loader',
3940
options: Object.assign({}, loaderOptions, {
40-
sourceMap: options.sourceMap
41+
sourceMap: isSourceMap
4142
})
4243
});
4344
}

‎package.json

+125-126
Original file line numberDiff line numberDiff line change
@@ -1,127 +1,126 @@
11
{
2-
"name": "vue-demo",
3-
"version": "1.0.0",
4-
"description": "A Vue.js project",
5-
"author": "yangd <13532023084@139.com>",
6-
"private": true,
7-
"scripts": {
8-
"dev": "node build/dev-server.js",
9-
"start": "npm run dev",
10-
"build": "node build/build.js",
11-
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
12-
"e2e": "node test/e2e/runner.js",
13-
"test": "npm run unit && npm run e2e",
14-
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
15-
},
16-
"dependencies": {
17-
"axios": "^0.16.2",
18-
"clipboard": "^1.7.1",
19-
"dexie": "^2.0.1",
20-
"echarts": "^3.7.2",
21-
"iview": "^2.5.1",
22-
"less": "^3.0.0-alpha.3",
23-
"less-loader": "^4.0.5",
24-
"node-sass": "^4.5.3",
25-
"normalize.css": "^7.0.0",
26-
"sass-loader": "^6.0.6",
27-
"ts-loader": "^3.0.5",
28-
"tslib": "^1.8.0",
29-
"typescript": "^2.5.3",
30-
"vue": "^2.5.2",
31-
"vue-class-component": "^6.0.0",
32-
"vue-router": "^3.0.1"
33-
},
34-
"devDependencies": {
35-
"@types/jasmine": "^2.6.0",
36-
"@types/node": "^8.0.46",
37-
"@types/webpack": "^3.0.13",
38-
"@types/webpack-env": "^1.13.2",
39-
"autoprefixer": "^7.1.2",
40-
"awesome-typescript-loader": "^3.2.3",
41-
"babel-core": "^6.22.1",
42-
"babel-eslint": "^7.1.1",
43-
"babel-loader": "^7.1.1",
44-
"babel-plugin-istanbul": "^4.1.1",
45-
"babel-plugin-transform-runtime": "^6.22.0",
46-
"babel-preset-env": "^1.3.2",
47-
"babel-preset-stage-2": "^6.22.0",
48-
"babel-register": "^6.22.0",
49-
"babel-runtime": "^6.26.0",
50-
"chai": "^4.1.2",
51-
"chalk": "^2.0.1",
52-
"chromedriver": "^2.27.2",
53-
"connect-history-api-fallback": "^1.3.0",
54-
"copy-webpack-plugin": "^4.0.1",
55-
"cross-env": "^5.0.1",
56-
"cross-spawn": "^5.0.1",
57-
"css-loader": "^0.28.0",
58-
"eslint": "^3.19.0",
59-
"eslint-config-standard": "^10.2.1",
60-
"eslint-friendly-formatter": "^3.0.0",
61-
"eslint-loader": "^1.7.1",
62-
"eslint-plugin-html": "^3.0.0",
63-
"eslint-plugin-import": "^2.7.0",
64-
"eslint-plugin-node": "^5.2.0",
65-
"eslint-plugin-promise": "^3.4.0",
66-
"eslint-plugin-standard": "^3.0.1",
67-
"eventsource-polyfill": "^0.9.6",
68-
"express": "^4.14.1",
69-
"extract-text-webpack-plugin": "^3.0.0",
70-
"file-loader": "^1.1.4",
71-
"friendly-errors-webpack-plugin": "^1.6.1",
72-
"html-loader": "^0.5.1",
73-
"html-webpack-plugin": "^2.30.1",
74-
"http-proxy-middleware": "^0.17.3",
75-
"inject-loader": "^3.0.0",
76-
"karma": "^1.4.1",
77-
"karma-coverage": "^1.1.1",
78-
"karma-mocha": "^1.3.0",
79-
"karma-phantomjs-launcher": "^1.0.2",
80-
"karma-phantomjs-shim": "^1.4.0",
81-
"karma-sinon-chai": "^1.3.1",
82-
"karma-sourcemap-loader": "^0.3.7",
83-
"karma-spec-reporter": "0.0.31",
84-
"karma-webpack": "^2.0.2",
85-
"less-loader": "^4.0.5",
86-
"mocha": "^3.2.0",
87-
"nightwatch": "^0.9.12",
88-
"node-gyp": "^3.6.2",
89-
"opn": "^5.1.0",
90-
"optimize-css-assets-webpack-plugin": "^3.2.0",
91-
"ora": "^1.2.0",
92-
"phantomjs-prebuilt": "^2.1.14",
93-
"portfinder": "^1.0.13",
94-
"postcss-loader": "^2.0.8",
95-
"rimraf": "^2.6.0",
96-
"sass-loader": "^6.0.6",
97-
"selenium-server": "^3.0.1",
98-
"semver": "^5.3.0",
99-
"shelljs": "^0.7.6",
100-
"sinon": "^4.0.0",
101-
"sinon-chai": "^2.8.0",
102-
"stylus": "^0.54.5",
103-
"stylus-loader": "^3.0.1",
104-
"ts-loader": "^3.0.5",
105-
"typescript": "^2.5.3",
106-
"typings": "^2.1.1",
107-
"url-loader": "^0.5.8",
108-
"vue-loader": "^13.3.0",
109-
"vue-style-loader": "^3.0.1",
110-
"vue-template-compiler": "^2.5.2",
111-
"vue-ts-loader": "^0.0.3",
112-
"webpack": "^3.6.0",
113-
"webpack-bundle-analyzer": "^2.9.0",
114-
"webpack-dev-middleware": "^1.12.0",
115-
"webpack-hot-middleware": "^2.18.2",
116-
"webpack-merge": "^4.1.0"
117-
},
118-
"engines": {
119-
"node": ">= 4.0.0",
120-
"npm": ">= 3.0.0"
121-
},
122-
"browserslist": [
123-
"> 1%",
124-
"last 2 versions",
125-
"not ie <= 8"
126-
]
127-
}
2+
"name": "vue-demo",
3+
"version": "1.0.0",
4+
"description": "A Vue.js project",
5+
"author": "yangd <13532023084@139.com>",
6+
"private": true,
7+
"scripts": {
8+
"dev": "node build/dev-server.js",
9+
"start": "npm run dev",
10+
"build": "node build/build.js",
11+
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
12+
"e2e": "node test/e2e/runner.js",
13+
"test": "npm run unit && npm run e2e",
14+
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
15+
},
16+
"dependencies": {
17+
"axios": "^0.16.2",
18+
"clipboard": "^1.7.1",
19+
"dexie": "^2.0.1",
20+
"echarts": "^3.7.2",
21+
"iview": "^2.5.1",
22+
"less": "^3.0.0-alpha.3",
23+
"less-loader": "^4.0.5",
24+
"node-sass": "^4.5.3",
25+
"normalize.css": "^7.0.0",
26+
"sass-loader": "^6.0.6",
27+
"ts-loader": "^3.0.5",
28+
"tslib": "^1.8.0",
29+
"typescript": "^2.5.3",
30+
"vue": "^2.5.2",
31+
"vue-class-component": "^6.0.0",
32+
"vue-router": "^3.0.1"
33+
},
34+
"devDependencies": {
35+
"@types/jasmine": "^2.6.0",
36+
"@types/webpack": "^3.0.13",
37+
"@types/webpack-env": "^1.13.2",
38+
"autoprefixer": "^7.1.2",
39+
"awesome-typescript-loader": "^3.2.3",
40+
"babel-core": "^6.22.1",
41+
"babel-eslint": "^7.1.1",
42+
"babel-loader": "^7.1.1",
43+
"babel-plugin-istanbul": "^4.1.1",
44+
"babel-plugin-transform-runtime": "^6.22.0",
45+
"babel-preset-env": "^1.3.2",
46+
"babel-preset-stage-2": "^6.22.0",
47+
"babel-register": "^6.22.0",
48+
"babel-runtime": "^6.26.0",
49+
"chai": "^4.1.2",
50+
"chalk": "^2.0.1",
51+
"chromedriver": "^2.27.2",
52+
"connect-history-api-fallback": "^1.3.0",
53+
"copy-webpack-plugin": "^4.0.1",
54+
"cross-env": "^5.0.1",
55+
"cross-spawn": "^5.0.1",
56+
"css-loader": "^0.28.0",
57+
"eslint": "^3.19.0",
58+
"eslint-config-standard": "^10.2.1",
59+
"eslint-friendly-formatter": "^3.0.0",
60+
"eslint-loader": "^1.7.1",
61+
"eslint-plugin-html": "^3.0.0",
62+
"eslint-plugin-import": "^2.7.0",
63+
"eslint-plugin-node": "^5.2.0",
64+
"eslint-plugin-promise": "^3.4.0",
65+
"eslint-plugin-standard": "^3.0.1",
66+
"eventsource-polyfill": "^0.9.6",
67+
"express": "^4.14.1",
68+
"extract-text-webpack-plugin": "^3.0.0",
69+
"file-loader": "^1.1.4",
70+
"friendly-errors-webpack-plugin": "^1.6.1",
71+
"html-loader": "^0.5.1",
72+
"html-webpack-plugin": "^2.30.1",
73+
"http-proxy-middleware": "^0.17.3",
74+
"inject-loader": "^3.0.0",
75+
"karma": "^1.4.1",
76+
"karma-coverage": "^1.1.1",
77+
"karma-mocha": "^1.3.0",
78+
"karma-phantomjs-launcher": "^1.0.2",
79+
"karma-phantomjs-shim": "^1.4.0",
80+
"karma-sinon-chai": "^1.3.1",
81+
"karma-sourcemap-loader": "^0.3.7",
82+
"karma-spec-reporter": "0.0.31",
83+
"karma-webpack": "^2.0.2",
84+
"less-loader": "^4.0.5",
85+
"mocha": "^3.2.0",
86+
"nightwatch": "^0.9.12",
87+
"node-gyp": "^3.6.2",
88+
"opn": "^5.1.0",
89+
"optimize-css-assets-webpack-plugin": "^3.2.0",
90+
"ora": "^1.2.0",
91+
"phantomjs-prebuilt": "^2.1.14",
92+
"portfinder": "^1.0.13",
93+
"postcss-loader": "^2.0.8",
94+
"rimraf": "^2.6.0",
95+
"sass-loader": "^6.0.6",
96+
"selenium-server": "^3.0.1",
97+
"semver": "^5.3.0",
98+
"shelljs": "^0.7.6",
99+
"sinon": "^4.0.0",
100+
"sinon-chai": "^2.8.0",
101+
"stylus": "^0.54.5",
102+
"stylus-loader": "^3.0.1",
103+
"ts-loader": "^3.0.5",
104+
"typescript": "^2.5.3",
105+
"typings": "^2.1.1",
106+
"url-loader": "^0.5.8",
107+
"vue-loader": "^13.3.0",
108+
"vue-style-loader": "^3.0.1",
109+
"vue-template-compiler": "^2.5.2",
110+
"vue-ts-loader": "^0.0.3",
111+
"webpack": "^3.6.0",
112+
"webpack-bundle-analyzer": "^2.9.0",
113+
"webpack-dev-middleware": "^1.12.0",
114+
"webpack-hot-middleware": "^2.18.2",
115+
"webpack-merge": "^4.1.0"
116+
},
117+
"engines": {
118+
"node": ">= 4.0.0",
119+
"npm": ">= 3.0.0"
120+
},
121+
"browserslist": [
122+
"> 1%",
123+
"last 2 versions",
124+
"not ie <= 8"
125+
]
126+
}

‎src/components/account/login.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Vue from "vue";
2-
import Component from "vue-class-component/lib";
2+
import Component from "vue-class-component";
33
require("./login.scss");
44

55
@Component({

‎src/router/index.ts

+9-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference path="../../node_modules/@types/webpack-env/index.d.ts" />
2-
32
import Vue from 'vue';
43
import Router, { RouterOptions } from 'vue-router';
4+
import Login from '../components/account/login.ts';
55

66
Vue.use(Router);
77

@@ -11,17 +11,14 @@ export default new Router({
1111
path: '/',
1212
name: 'account_login',
1313
components: {
14-
Login: (resolve) => {
15-
require(['../components/account/login.ts'], resolve);
16-
}
17-
// Login: (resolve) => {
18-
// require.ensure([], (require) => {
19-
// const cmp = require('../components/account/login').default;
20-
// resolve(cmp);
21-
// }, 'Login');
22-
// }
23-
// Login: () => require('../components/account/login.ts').default
24-
}
14+
Login: Login // require('../components/account/login.ts')
15+
// Login: resolve => require(['../components/account/login.ts'], resolve)
16+
// Login: (resolve) => {
17+
// require.ensure([], (require) => {
18+
// const cmp = require('../components/account/login').default;
19+
// resolve(cmp);
20+
// }, 'Login');
21+
}
2522
}
2623
]
2724
} as RouterOptions);

‎tsconfig.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"node"
2323
],
2424
"typeRoots": [
25-
"node_modules/@types"
25+
"node_modules/@types",
26+
"./types-extend"
2627
]
2728
},
2829
"exclude": [
File renamed without changes.

0 commit comments

Comments
 (0)
Please sign in to comment.