将html模板解析为客户端JS.Angular + Browserify + Babel + ES2015 + Gulp
Parse html templates into client side JS. Angular + Browserify + Babel + ES2015 + Gulp
我有问题的Browserify Angular配置文件,其中我的require()
HTML模板。我试着生成stringify
或browserify-ng-html2js
在transform()
,但在这种情况下,我有多个转换调用在gulp文件,我不能使它没有错误。捆绑给予者也有错误。
APP.js:
import angular from 'angular';
import appModule from './config/config'
angular.bootstrap( document, [ appModule.name ] );
Config.js:
import angular from 'angular';
import uiRouter from 'angular-ui-router';
const app = angular.module( 'app', [ uiRouter ] );
app.config(( $stateProvider, $urlRouterProvider, $locationProvider ) => {
$urlRouterProvider.other( '/' );
$stateProvider
.state( 'todos', {
url: '/',
template: require( '../views/todos.html' )
} )
.state( 'about', {
url: '/about',
template: require( '../views/about.html' )
} );
$locationProvider.html5Mode( true );
});
export default app;
and Gulp Browserify Task:
/** Browserify TASK **/
gulp.task( 'browserify', function () {
let bundler = browserify({
entries: [ config.sourceDir + 'app.js' ],
debug: true
});
util.log( '-> Compile JS...' );
//Grab files
return bundler
.transform( 'babelify', { presets: [ "es2015", "react" ] } )
.bundle()
.on('error', function (err) {
console.error(err);
this.emit('end');
})
.pipe( source( 'bundle.js' ) )
.pipe( buffer() )
.pipe( sourcemaps.init({ loadMaps: true }) )
.pipe(uglify())
.pipe( sourcemaps.write( './' ) )
//Dest
.pipe( gulp.dest( config.buildDir ) )
} );
现在当我尝试浏览APP时,我得到错误:
Error: Cannot find module 'todos/todos.html'
任何提示和帮助将不胜感激:)谢谢和问候!
p。我试过:
.transform( stringify, {
appliesTo: { includeExtensions: [ 'html', 'htm', 'jsp' ] },
minify: true
} )
我解决了:有两个选项可以解决这个问题:
首先是需要()HTML文件通过browserify,而不是像JS那样使用它们,我们需要安装一个transform -> npm i - d html2js-browserify并将其附加到gulpfile:
.transform( 'html2js-browserify' )
第二个选项是将所有视图复制到public/static dir中,我们在express中设置为提供所有静态文件,并使用templateUrl: <path-to-template-inside-public-dir>
,我希望它对任何人都有帮助。的问候!
相关文章:
- Angular JS IE9 Hashbang url rewriting
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 使用angular重定向到html页面
- angular.js没有'无法在PhoneGap中处理视图标记
- Javascript(Angular)从一个对象数组到第二个数组查找值
- angular 1.5应用程序中的导航栏
- angular的下拉菜单
- 将Browserify与Angular JS结合使用--将服务传递到控制器中
- Angular UI路由器's$stateChangeSuccess在切换到使用Browserify后未发出
- angular-nvd3 and Browserify
- Angular with Browserify
- 单元测试Angular+Browserify+Gulp和Jasmine
- 使用Angular和非commonjs库进行Browserify
- 如何将browserify——require文件传递给angular模块
- Angular + Browserify
- Angular modules and browserify
- Require()使用gulp angular browserify返回空对象
- 将html模板解析为客户端JS.Angular + Browserify + Babel + ES2015 + Gulp