diff --git a/circle.yml b/circle.yml
index 5982ccc..624eb20 100644
--- a/circle.yml
+++ b/circle.yml
@@ -4,4 +4,4 @@
 
 test:
   override:
-    - cd ./weex-transformer/style-transformer && npm install && npm test && cd ../template-transformer && npm install && npm test && cd ../script-transformer && npm install && npm test && cd ../transformer && npm install && npm test && cd ../../gulp-weex && npm install && npm test && cd .. && cd ./weex-loader && npm install && npm run test && cd ..
+    - cd weex-loader && npm install && npm run test && cd ..
diff --git a/weex-loader/README.md b/weex-loader/README.md
index 3fc549b..ffd6f55 100644
--- a/weex-loader/README.md
+++ b/weex-loader/README.md
@@ -8,14 +8,6 @@
 npm install weex-loader --save
 ```
 
-## Dependencies
-
-The loader needs `weex-scripter/weex-styler/weex-templater` in peer dependencies. You should install them in your projects.
-
-```
-npm install weex-scripter weex-styler weex-templater --save
-```
-
 ## Feature
 
 0. Can load `.we` file.
@@ -38,14 +30,6 @@
 var webpack = require('webpack');
 
 var loader = require('weex-loader');
-var scripter = require('weex-scripter');
-var styler = require('weex-styler');
-var templater = require('weex-templater');
-
-/* use the default parsers or your custom parsers */
-loader.useScripter(scripter);
-loader.useStyler(styler);
-loader.useTemplater(templater);
 
 module.exports = {
   entry: './test/main.we?entry=true',
diff --git a/weex-loader/index.js b/weex-loader/index.js
index 4ca004d..45e884f 100644
--- a/weex-loader/index.js
+++ b/weex-loader/index.js
@@ -9,9 +9,9 @@
 var pkg = require('./package.json');
 var transformerVersion = pkg.dependencies['weex-transformer'].match(/\d+(?:\.\d+){0,2}/)[0];
 
-var templater;
-var styler;
-var scripter;
+var templater = require('weex-templater');
+var styler = require('weex-styler');
+var scripter = require('weex-scripter');
 
 var MODULE_EXPORTS_REG = /module\.exports/g;
 var REQUIRE_REG = /require\((["'])(\@weex\-module\/[^\)\1]+)\1\)/g;
@@ -257,15 +257,15 @@
 }
 
 loader.useScripter = function(module) {
-    scripter = module;
+    console.warn('\u001b[1;32m[Warn]\u001b[0m: method useScripter() in weex-loader is no more necessary');
 }
 
 loader.useStyler = function(module) {
-    styler = module;
+    console.warn('\u001b[1;32m[Warn]\u001b[0m: method useStyler() in weex-loader is no more necessary');
 }
 
 loader.useTemplater = function(module) {
-    templater = module;
+    console.warn('\u001b[1;32m[Warn]\u001b[0m: method useTemplater() in weex-loader is no more necessary');
 }
 
 loader.setLogLevel = function(level) {
diff --git a/weex-loader/package.json b/weex-loader/package.json
index db18033..a50ccc6 100644
--- a/weex-loader/package.json
+++ b/weex-loader/package.json
@@ -22,11 +22,6 @@
     "test": "npm run test:build && npm run test:transform && npm run test:mocha",
     "serve": "serve ./test -p 12581"
   },
-  "peerDependencies": {
-    "weex-scripter": "^0.1.4",
-    "weex-styler": "^0.0.17",
-    "weex-templater": "^0.2.1"
-  },
   "devDependencies": {
     "babel-core": "^6.7.6",
     "babel-loader": "^6.2.4",
@@ -43,6 +38,9 @@
   "dependencies": {
     "loader-utils": "~0.2.14",
     "md5": "^2.1.0",
+    "weex-scripter": "^0.1.4",
+    "weex-styler": "^0.0.17",
+    "weex-templater": "^0.2.1",
     "weex-transformer": "^0.3.1"
   }
 }
diff --git a/weex-loader/webpack.config.js b/weex-loader/webpack.config.js
index 2b88dec..201d2a2 100644
--- a/weex-loader/webpack.config.js
+++ b/weex-loader/webpack.config.js
@@ -1,13 +1,6 @@
 var path = require('path');
 var webpack = require('webpack');
 var loader = require('./index.js');
-var scripter = require('weex-scripter');
-var styler = require('weex-styler');
-var templater = require('weex-templater');
-
-loader.useScripter(scripter);
-loader.useStyler(styler);
-loader.useTemplater(templater);
 
 module.exports = {
   entry: {
