diff --git a/src/server/render.js b/src/server/render.js index 965b64febbb..581a6dfd52c 100644 --- a/src/server/render.js +++ b/src/server/render.js @@ -326,7 +326,7 @@ function renderStartingTag (node: VNode, context) { for (let i = 0; i < dirs.length; i++) { const name = dirs[i].name if (name !== 'show') { - const dirRenderer = resolveAsset(context, 'directives', name, true) + const dirRenderer = resolveAsset(context, 'directives', name) if (dirRenderer) { // directives mutate the node's data // which then gets rendered by modules diff --git a/test/ssr/ssr-string.spec.js b/test/ssr/ssr-string.spec.js index 4079c15e061..2f98bab8fae 100644 --- a/test/ssr/ssr-string.spec.js +++ b/test/ssr/ssr-string.spec.js @@ -794,23 +794,6 @@ describe('SSR: renderToString', () => { }) }) - it('should resolve custom directive', done => { - renderToString(new Vue({ - directives: { - test: { - bind(node) { - node.data.domProps = { textContent: 'test' } - } - } - }, - template: '
', - }), (err, result) => { - expect('Failed to resolve directive: test').not.toHaveBeenWarned() - expect(result).toContain('
test
') - done() - }) - }) - it('custom directives', done => { const renderer = createRenderer({ directives: { @@ -843,6 +826,22 @@ describe('SSR: renderToString', () => { }) }) + it('should not warn for custom directives that do not have server-side implementation', done => { + renderToString(new Vue({ + directives: { + test: { + bind() { + // noop + } + } + }, + template: '
', + }), () => { + expect('Failed to resolve directive: test').not.toHaveBeenWarned() + done() + }) + }) + it('_scopeId', done => { renderVmWithOptions({ _scopeId: '_v-parent',