Skip to content

Commit 1f96a37

Browse files
committed
fix salad config
1 parent 1208ef5 commit 1f96a37

File tree

7 files changed

+38
-66
lines changed

7 files changed

+38
-66
lines changed

.babelrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"presets": [["es2015", { "loose": true }]],
3-
"plugins": ["transform-vue-jsx", "transform-remove-strict-mode"],
3+
"plugins": ["transform-vue-jsx"],
44
"env": {
55
"utils": {
66
"plugins": [

FAQ.md

-13
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,6 @@
4646
请参考我们提供的 [starter kit](https://github.com/ElementUI/element-starter),在 webpack 的 loaders 中正确配置 file-loader、css-loader 和 style-loader。此外,我们还提供了基于 [cooking](https://github.com/ElementUI/element-cooking-starter)[laravel](https://github.com/ElementUI/element-in-laravel-starter) 的项目模板。
4747
</details>
4848

49-
<details>
50-
<summary>在项目中引入 Element,报 `Uncaught Error: Module build failed: SyntaxError: 'with' in strict mode` 是什么原因?</summary>
51-
52-
请避免你使用的编译器处理 Element。比如,若是使用 webpack,请在 loaders 中配置:
53-
```javascript
54-
{
55-
test: /\.js$/,
56-
loader: 'babel',
57-
exclude: /node_modules/
58-
}
59-
```
60-
</details>
61-
6249
<details>
6350
<summary>将 Element 克隆至本地,运行时为何会报错/跑不起来?</summary>
6451

build/config.js

+12-27
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
var Components = require('../components.json');
21
var path = require('path');
3-
var dependencies = require('../package.json').dependencies;
42
var fs = require('fs');
3+
var nodeExternals = require('webpack-node-externals');
4+
var Components = require('../components.json');
5+
var saladConfig = require('../packages/theme-default/salad.config.json');
56

67
var utilsList = fs.readdirSync(path.resolve(__dirname, '../src/utils'));
78
var mixinsList = fs.readdirSync(path.resolve(__dirname, '../src/mixins'));
@@ -10,11 +11,8 @@ var externals = {};
1011
Object.keys(Components).forEach(function(key) {
1112
externals[`element-ui/packages/${key}`] = `element-ui/lib/${key}`;
1213
});
13-
Object.keys(dependencies).forEach(function(key) {
14-
externals[key] = key;
15-
});
16-
externals['element-ui/src/locale'] = 'element-ui/lib/locale';
1714

15+
externals['element-ui/src/locale'] = 'element-ui/lib/locale';
1816
utilsList.forEach(function(file) {
1917
file = path.basename(file, '.js');
2018
externals[`element-ui/src/utils/${file}`] = `element-ui/lib/utils/${file}`;
@@ -24,9 +22,11 @@ mixinsList.forEach(function(file) {
2422
externals[`element-ui/src/mixins/${file}`] = `element-ui/lib/mixins/${file}`;
2523
});
2624

27-
exports.externals = Object.assign({
25+
externals = [Object.assign({
2826
vue: 'vue'
29-
}, externals);
27+
}, externals), nodeExternals()];
28+
29+
exports.externals = externals;
3030

3131
exports.alias = {
3232
main: path.resolve(__dirname, '../src'),
@@ -45,25 +45,10 @@ exports.vue = {
4545
exports.jsexclude = /node_modules|utils\/popper\.js|utils\/date.\js/;
4646

4747
exports.postcss = function(webapck) {
48+
saladConfig.features.partialImport = {
49+
addDependencyTo: webapck
50+
};
4851
return [
49-
require('postcss-salad')({
50-
browsers: ['ie > 8', 'last 2 versions'],
51-
features: {
52-
'partialImport': {
53-
addDependencyTo: webapck
54-
},
55-
'bem': {
56-
'shortcuts': {
57-
'component': 'b',
58-
'modifier': 'm',
59-
'descendent': 'e'
60-
},
61-
'separators': {
62-
'descendent': '__',
63-
'modifier': '--'
64-
}
65-
}
66-
}
67-
})
52+
require('postcss-salad')(saladConfig)
6853
];
6954
};

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
"babel-loader": "^6.2.5",
5959
"babel-plugin-module-resolver": "^2.2.0",
6060
"babel-plugin-syntax-jsx": "^6.8.0",
61-
"babel-plugin-transform-remove-strict-mode": "0.0.2",
6261
"babel-plugin-transform-vue-jsx": "^3.1.0",
6362
"babel-preset-es2015": "^6.14.0",
6463
"chai": "^3.5.0",
@@ -116,6 +115,7 @@
116115
"vue-markdown-loader": "^0.5.1",
117116
"vue-router": "^2.0.0",
118117
"webpack": "^1.13.2",
119-
"webpack-dev-server": "^1.15.1"
118+
"webpack-dev-server": "^1.15.1",
119+
"webpack-node-externals": "^1.5.4"
120120
}
121121
}

packages/theme-default/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ import 'element-theme-default';
2121

2222
Or
2323
```html
24-
<link rel="stylesheet" href="path/to/node_modules/element-theme-default/dist/index.css">
24+
<link rel="stylesheet" href="path/to/node_modules/element-theme-default/lib/index.css">
2525
```
2626

2727
## Import your need
2828
```javascript
29-
import 'element-theme-default/dist/input.css';
30-
import 'element-theme-default/dist/select.css';
29+
import 'element-theme-default/lib/input.css';
30+
import 'element-theme-default/lib/select.css';
3131

3232
// ...
3333
```

packages/theme-default/gulpfile.js

+4-20
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,9 @@
11
'use strict';
22

3-
const gulp = require('gulp');
4-
const postcss = require('gulp-postcss');
5-
const cssmin = require('gulp-cssmin');
6-
7-
const salad = require('postcss-salad')({
8-
browser: ['ie > 9', 'last 2 version'],
9-
features: {
10-
'bem': {
11-
'shortcuts': {
12-
'component': 'b',
13-
'modifier': 'm',
14-
'descendent': 'e'
15-
},
16-
'separators': {
17-
'descendent': '__',
18-
'modifier': '--'
19-
}
20-
}
21-
}
22-
});
3+
var gulp = require('gulp');
4+
var postcss = require('gulp-postcss');
5+
var cssmin = require('gulp-cssmin');
6+
var salad = require('postcss-salad')(require('./salad.config.json'));
237

248
gulp.task('compile', function() {
259
return gulp.src('./src/*.css')
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"browsers": ["ie > 8", "last 2 versions"],
3+
"features": {
4+
"bem": {
5+
"shortcuts": {
6+
"component": "b",
7+
"modifier": "m",
8+
"descendent": "e"
9+
},
10+
"separators": {
11+
"descendent": "__",
12+
"modifier": "--"
13+
}
14+
}
15+
}
16+
}

0 commit comments

Comments
 (0)