Skip to content

Commit

Permalink
添加ts,babel配置
Browse files Browse the repository at this point in the history
  • Loading branch information
zk922 committed Jan 11, 2019
1 parent 5f63b11 commit 7cb2ca4
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 17 deletions.
3 changes: 3 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"presets": ["@babel/preset-env"]
}
2 changes: 1 addition & 1 deletion app.config.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"package-manager": "yarn",
"language": "ts",
"language": "js",
"style": "scss",
"template": "ejs",
"devServer": {
Expand Down
4 changes: 3 additions & 1 deletion scripts/config_scripts/0.base.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
module.exports = {
mode: 'development',
devtool: 'inline-source-map',
resolve: {},
resolve: {
extensions: []
},
module: {
rules: []
},
Expand Down
40 changes: 28 additions & 12 deletions scripts/config_scripts/6.language-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,43 @@ let {getType} = require('./utils');
* 对代码配置babel
* **/
module.exports = function (config) {
let jsLoaderAdded = false;
function addJsConfig(){
if(jsLoaderAdded) return;
config.resolve.extensions.push('.js');
config.module.rules.push(languageLoader.js);
jsLoaderAdded = true;
}

let tsLoaderAdded = false;
function addTsConfig(){
if(tsLoaderAdded) return;
config.resolve.extensions.push('.ts', '.tsx');
config.module.rules.push(languageLoader.ts);
tsLoaderAdded = true;
}

let language = appConfig.language || 'js';
let resolve;

addJsConfig(); //无论如何,都会给js添加babel配置

if(getType(language) === 'string'){
resolve = [language];
if(language === 'ts') addTsConfig();
}
else if(getType(language) === 'array'){
resolve = language;
language.forEach(v => {
if(v === 'ts' || v === 'tsx'){
addTsConfig();
}
else{
if(!language[v]) throw Error(`没有找到${v}文件对应的loader`);
config.resolve.extensions.push('.' + v);
config.module.rules.push(languageLoader[v]);
}
});
}
else {
throw new Error(`app.config language 配置错误`);
}
config.resolve.extensions = resolve;

resolve.forEach(v => {
if(!languageLoader[v]){
throw new Error(`未找到${v}文件对应的loader默认配置`);
}
config.module.rules.push(languageLoader[v]);
});

return config;
};
4 changes: 2 additions & 2 deletions src/pages/page1/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ let a = 1;
let _ = require('lodash');
console.log(_.trim(' 12 3 4666666'));

console.log(require('../../env/env').environment);
console.log(require('../../env/env.js').environment);

require('../../assets/js/a');
require('../../assets/js/a.js');
2 changes: 1 addition & 1 deletion src/pages/page2/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as angular from "angular"


require('../../assets/js/a');
require('../../assets/js/b');
Expand Down
1 change: 1 addition & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"moduleResolution": "node",
"sourceMap": true,
"experimentalDecorators": true
},
Expand Down

0 comments on commit 7cb2ca4

Please sign in to comment.