diff --git a/src/parser.js b/src/parser.js
index 03b9a80..22c1654 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -14,6 +14,7 @@
   getNameByPath,
   checkFileExist,
   depHasRequired,
+  parseElementNameByPath,
   stringifyFunction,
   appendToWarn
 } from './util'
@@ -121,7 +122,14 @@
 
     let requireContent = ''
     if (deps.length) {
-      requireContent += deps.map(dep =>
+      const entryElementName = parseElementNameByPath(params.resourcePath)
+      requireContent += deps.filter(dep => {
+        if (parseElementNameByPath(dep) === entryElementName) {
+          console.warn(`[Warn]: "${dep}" cannot include <${entryElementName}> itself.`)
+          return false
+        }
+        return true
+      }).map(dep =>
         depHasRequired(content, dep) ? 'require("' + dep + '");' : ''
       ).join('\n')
       if (requireContent) {
@@ -255,4 +263,3 @@
 
   return Promise.resolve(prefix + target)
 }
-
diff --git a/src/util.js b/src/util.js
index d631779..629f1e3 100644
--- a/src/util.js
+++ b/src/util.js
@@ -44,3 +44,7 @@
 export function depHasRequired (content, dep) {
   return !content.match(new RegExp('require\\(["\']./' + path.basename(dep) + '(.we)?["\']\\)', 'g'))
 }
+
+export function parseElementNameByPath (filepath) {
+  return path.parse(filepath).name
+}
diff --git a/test/expect/samename.we b/test/expect/samename.we
new file mode 100644
index 0000000..9020bf9
--- /dev/null
+++ b/test/expect/samename.we
@@ -0,0 +1,3 @@
+<template>
+  <samename></samename>
+</template>
diff --git a/test/test.js b/test/test.js
index e2a616d..a713eb6 100644
--- a/test/test.js
+++ b/test/test.js
@@ -81,6 +81,16 @@
     expect(actualJson).eql(expectJson);
   });
 
+  it('ignore include same name element file', function() {
+    var name = 'samename.js';
+
+    var actualCodePath = path.resolve(__dirname, 'actual', name);
+    var actualCodeContent = fs.readFileSync(actualCodePath, { encoding: 'utf8' });
+
+    var matches = actualCodeContent.match(/"type"\: "samename"/g)
+    expect(matches.length).eql(1);
+  });
+
   it('support source map', function() {
     var name = 'sourcemap'
 
diff --git a/test/webpack.config.js b/test/webpack.config.js
index 68792f3..3486c8f 100644
--- a/test/webpack.config.js
+++ b/test/webpack.config.js
@@ -3,6 +3,7 @@
 module.exports = {
   entry: {
     sourcemap: path.resolve(__dirname, 'expect/sourcemap.we?entry=true'),
+    samename: path.resolve(__dirname, 'expect/samename.we?entry=true'),
     a: path.resolve(__dirname, 'a.js?entry=true'),
     b: path.resolve(__dirname, 'expect/b.we?entry=true'),
     z: path.resolve(__dirname, 'expect/z.we?entry=true')
@@ -26,15 +27,15 @@
         loaders: ['index.js?type=script', 'babel?presets[]=es2015']
       },
       {
-        test: /\.css(\?[^?]+)?$/, 
+        test: /\.css(\?[^?]+)?$/,
         loaders: ['index.js?type=style']
       },
       {
-        test: /\.less(\?[^?]+)?$/, 
+        test: /\.less(\?[^?]+)?$/,
         loaders: ['index.js?type=style', 'less']
       },
       {
-        test: /\.tpl(\?[^?]+)?$/, 
+        test: /\.tpl(\?[^?]+)?$/,
         loaders: ['index.js?type=tpl']
       }
     ]
