Частичная интеграция машинописного текста, angularjs, grunt

Добрый день,

Я хотел бы интегрировать машинописный текст в проект angularjs, который использует grunt. Я бы хотел сделать это поэтапно, чтобы не пришлось переписывать весь проект.

Причина в том, чтобы 1) повысить качество кода, используя для этого машинопись и линтинг. 2) ввести модульность, потому что в настоящее время размер файла .js увеличивается, а код становится менее читаемым.

В настоящее время проект использует grunt со следующими проектами:

'clean:dist',
    'clean:typescript',
    'ts',
    .......,
    'jsbeautifier',
    'less',
    'useminPrepare',
    'concat',
    'copy:dist',
    'cssmin',
    'uglify',
    'filerev',
    'usemin',
    'htmlmin'

Что происходит в этом ворчливом рабочем процессе, так это то, что часть машинописного текста компилируется, а каталог сборки машинописного текста включается в файл index.html. Итак, 'useminPrepare', 'concat', 'copy:dist', 'cssmin', 'uglify', 'filerev', 'usemin',

рабочий процесс успешно интегрирует код машинописного текста в vendor.js.

В настоящее время проблема в том, что при открытии в браузере я получаю следующую ошибку.

Uncaught ReferenceError: exports is not definedТема проблемы переполнения стека

Но все советы в этом потоке не удаляют Object.defineProperty(exports, "__esModule", { value: true }); внутри скомпилированного кода javascript (машинописный текст в).

Я использовал <script>var exports = {};</script>, потом получил ошибку Uncaught ReferenceError: module is not defined. Примечание: я также включил <script src = "bower_components/commonjs/common.js"></script>

Итак, я предполагаю, что мне нужно просматривать между 'useminPrepare' и 'usemin', но похоже, что усемин не поддерживает просмотр.

Итак, мои вопросы:

  1. Как мне избавиться от этих ошибок и разумно интегрировать части, написанные на машинописном тексте, в пакет.
  2. Любой совет или любой другой возможный способ частичной интеграции машинописного текста в проект angularjs и grunt?
  3. Если я ошибаюсь, и это невозможно или слишком сложно. Какой еще способ вы видите для достижения моих целей 1) и 2) (вверху)?

Спасибо большое за вашу помощь.

Ваше здоровье, Тобиас

Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
0
0
89
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел ответ в этом вопросе: TS1148 ~ Как "импортировать" с помощью --module: "none" и typescricpt 2.x

  1. Используйте "module": "none"
  2. Используйте глобальный файл d.ts, как описано в ссылка выше.
  3. Используйте grunt и usemin. Нанесите узор шара (подстановочные знаки) в ваш html файл, чтобы включить скомпилированный машинописный текст файл (ы) <script src = "xyz/build/tsc/**/*.js"></script>

Другие вопросы по теме